我使用Infragistics的igGrid来处理我公司web应用程序上的数据。我们希望使用网格作为用户数据交互(添加/编辑/删除/查看记录)的"可编辑网格"。
我要演示的场景是,当用户在新行中的一个单元格中输入一个有效的项目名称时,下一个单元格将自动使用该项目的相应描述填充。到目前为止,我还不能让它自动更新
我相信官方的"编辑组合编辑器"示例会给你你正在寻找的答案:)
如描述中所述,更改"Product Name"列会自动填充"Price"列。注意:您需要先选择一个"类别名称",尽管
为了得到想要的结果,你需要执行两个步骤:
-
钩子到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; }});
-
编写一个事件处理程序,该事件处理程序将更新所需列(在本例中为Price)的编辑器字段:
函数comboSelectionChanged(evt, ui) {Var项= ui。Items || [];如果物品。长度=== 1){Var item = items[0];Var editor = $("#grid1")。igGridUpdating("editorForKey"、"价格");美元(编辑)。igEditor("价值",产品[item.index] .Price);}}
这些步骤来自示例的HTML代码视图(就在网格下面)。如果您想更好地了解该代码视图片段,我将其放在一个独立的JSFiddle中:http://jsfiddle.net/BorislavTraykov/4uJBD/
如果解决方案不适合你,请详细说明你的目标场景。