我正在使用 Infragistics 的 igGrid 来处理我公司 Web 应用程序上的数据。我们希望将网格用作用户数据交互(添加/编辑/删除/查看记录)的“可编辑网格”。
我想播放的场景是,当用户在新行的一个单元格中输入有效的项目名称时,下一个单元格会自动填充该项目的相应描述。到目前为止,我无法使其自动更新。
我正在使用 Infragistics 的 igGrid 来处理我公司 Web 应用程序上的数据。我们希望将网格用作用户数据交互(添加/编辑/删除/查看记录)的“可编辑网格”。
我想播放的场景是,当用户在新行的一个单元格中输入有效的项目名称时,下一个单元格会自动填充该项目的相应描述。到目前为止,我无法使其自动更新。
我相信官方的“编辑组合编辑器”示例会给你你正在寻找的答案:)
如其描述中所述,更改“产品名称”列会自动填充“价格”列。注意:您需要先选择一个“类别名称”
为了获得预期的结果,您需要执行 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) { var item = items[0]; var editor = $("#grid1").igGridUpdating("editorForKey", "Price"); $(editor).igEditor("价值", products[item.index].Price); } }
这些步骤取自示例的 HTML 代码视图(就在网格下方)。如果您想更好地查看该代码视图片段,我已将其放在独立的 JSFiddle 中:http: //jsfiddle.net/BorislavTraykov/4uJBD/
如果解决方案不适合您,请详细说明您要完成的场景。