【发布时间】:2013-06-18 13:44:38
【问题描述】:
我正在使用 Infragistics 的 igGrid 来处理我公司 Web 应用程序上的数据。我们希望将网格用作用户数据交互(添加/编辑/删除/查看记录)的“可编辑网格”。
我想播放的场景是,当用户在新行的一个单元格中输入有效的项目名称时,下一个单元格会自动填充该项目的相应描述。到目前为止,我无法让它自动更新。
【问题讨论】:
标签: infragistics ignite-ui iggrid
我正在使用 Infragistics 的 igGrid 来处理我公司 Web 应用程序上的数据。我们希望将网格用作用户数据交互(添加/编辑/删除/查看记录)的“可编辑网格”。
我想播放的场景是,当用户在新行的一个单元格中输入有效的项目名称时,下一个单元格会自动填充该项目的相应描述。到目前为止,我无法让它自动更新。
【问题讨论】:
标签: infragistics ignite-ui iggrid
我相信the official "Editing Combo Editor" sample会给你你想要的答案:)
如其描述中所述,更改“产品名称”列会自动填充“价格”列。 注意:您需要先选择一个“类别名称”
为了获得预期的结果,您需要执行 2 个步骤:
在 igGrid 的上下文中挂钩到 igCombo 的“Selection Changed”事件,因为 igCombo 实例将是 igGrid DOM 的子级:
$(document).delegate("#grid1", "iggridrendered", function (evt, ui) {
var updating = $("#grid1").data("igGridUpdating");
var editor = updating.editorForKey("ProductID");
if (editor) {
$(document).delegate("#comboProductID", "igcomboselectionchanged", comboSelectionChanged);
}
else {
var colSettings = updating.options.columnSettings;
colSettings[2].editorOptions.selectionChanged = comboSelectionChanged;
}});
编写一个事件处理程序,它将更新所需列的编辑器字段(在本例中为价格):
函数comboSelectionChanged(evt, ui) { var items = ui.items || []; if (items.length === 1) { 变量项目 = 项目 [0]; var editor = $("#grid1").igGridUpdating("editorForKey", "Price"); $(editor).igEditor("价值", products[item.index].Price); } }
这些步骤取自示例的 HTML 代码视图(就在网格下方)。 如果您想更好地查看该代码视图 sn-p,我已将其放在独立的 JSFiddle 中:http://jsfiddle.net/BorislavTraykov/4uJBD/
如果解决方案不适合您,请详细说明您打算完成的场景。
【讨论】: