iggrid添加新行事件

时间:2016-09-29 16:16:36

标签: javascript jquery infragistics ignite-ui iggrid

如何为添加新行和iggrid本身创建单独的触发器?我希望能够在编辑器打开的情况下选择(单击)一行,但同时我想单击添加新行按钮并单击打开编辑器。我还想将dblclick事件挂钩到行并打开编辑器。

期望事件

  • 添加新行按钮:点击
  • 行编辑:dblclick
  • 行选择:单击

到目前为止,我有以下设置,但它适用于整个网格,包括添加新行按钮。 如下所示,行编辑通过dblclick(好)工作并通过单击选择行(好) 但是,我仍然需要双击添加新行按钮。如何触发编辑器对话框的打开?

enter image description here

更新

我无法弄清楚如何直接订阅网格事件,但我能够使用jquery在添加行标题上创建一个onclick处理程序。

        rendered: function(evt, ui) {
          console.log("rendered");
          var ds = $("#groupMappingTable").igGrid("option", "dataSource");
          console.log("datasource");
          console.log(ds);
          $("#groupMappingTable > thead > tr.ui-iggrid-addrow.ui-widget-header > td")
            .on('click',
              function(e) {
                var obj = $("#groupMappingTable").igGridUpdating("startAddRowEdit", e);
                console.log("grid updating");
                console.log(obj);
              });
        },

我必须在渲染的回调中注册。从这里我触发以下

var obj = $("#groupMappingTable").igGridUpdating("startAddRowEdit", e);

现在,当我点击添加行时,它会触发并添加一行,但data-id现在全部为零,单击该行会选择所有添加的行,而点击行的dbl只选择添加的第一行。 / p>

enter image description here

1 个答案:

答案 0 :(得分:1)

所有这些事件都已由igGrid公开。

Row adding

//Initialize
$(".selector").igGrid({
    features : [
        {
            name : "Updating",
            rowAdding: function(evt, ui){ ... }
        }
    ]
});

Row Editing

//Initialize
$(".selector").igGrid({
    features : [
        {
            name : "Updating",
            editRowStarting: function(evt, ui){ ... }
        }
    ]
});

Row Selected

//Initialize
$(".selector").igGrid({
    features : [
        {
            name : "RowSelectors",
            rowSelectorClicked: function(evt, ui){ ... }
        }
    ]
});