2

我正在使用 Infragistics 的 igGrid 来处理我公司 Web 应用程序上的数据。我们希望将网格用作用户数据交互(添加/编辑/删除/查看记录)的“可编辑网格”。

我想播放的场景是,当用户在新行的一个单元格中输入有效的项目名称时,下一个单元格会自动填充该项目的相应描述。到目前为止,我无法使其自动更新。

4

1 回答 1

3

我相信官方的“编辑组合编辑器”示例会给你你正在寻找的答案:)

如其描述中所述,更改“产品名称”列会自动填充“价格”列。注意:您需要先选择一个“类别名称”

为了获得预期的结果,您需要执行 2 个步骤:

  1. 在 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;
    }});
    
  2. 编写一个事件处理程序,它将更新所需列的编辑器字段(在本例中为价格):

    函数 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/

如果解决方案不适合您,请详细说明您要完成的场景。

于 2013-06-19T12:08:39.803 回答