【问题标题】:iggrid Add New Row eventiggrid 添加新行事件
【发布时间】:2016-09-29 16:16:36
【问题描述】:

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

期望的事件

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

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

更新

我不知道如何直接订阅网格事件,但我能够使用 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);

现在,当我单击添加行时,它会触发并添加一行,但数据 ID 现在全为零,单击该行会选择所有添加的行,而 dbl 单击一行只会选择添加的第一个行。

【问题讨论】:

    标签: javascript jquery infragistics ignite-ui iggrid


    【解决方案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){ ... }
            }
        ]
    });
    

    【讨论】:

    • 如果我将更新事件属性 [startEditTriggers] 设置为 dblClick,这也会使标题也只监听 dblClick。我希望标题侦听单击事件(单个)并响应添加新和行以侦听 dbl 单击并响应编辑行。
    • @monkeyjumps 这两个事件在网格中是分开的。 rowAdding 对应于添加新行标题中的单击,editRowStarting 对应于将现有行置于编辑模式的交互。
    • 但是我如何分别触发它们呢?我想在单击时触发 rowAdding 并在 dbl 单击时触发 editRowStarting
    • @monkeyjumps 事件由网格触发。这些示例显示了如何订阅它们。某些事件不会为您触发吗?
    • startEditTriggers: "dblclick,F2",适用于整个网格本身。我想在 dblclick 上触发行编辑,但我想添加行标题以在单击时触发。我还希望行选择器能够强制执行整个行需要初始化才能在 dblclick 上触发。我更新了我的代码以显示我最终如何使用 jquery 附加事件,但仍想知道如何使用任何 iggrid 钩子 OTB 正确执行此操作
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-23
    • 2010-12-14
    • 1970-01-01
    相关资源
    最近更新 更多