Extjs 行编辑和操作列问题

Extjs 行编辑和操作列问题,extjs,Extjs,我目前遇到了RowEditing插件的问题,无法找到任何相关的东西来帮助我 我使用RowEditing插件提供了一个网格,并被要求添加一个包含“重置”按钮的行。最好的选择似乎是使用actionColumn 当行未处于编辑模式时,就没有问题了,actionColumn可以正确地处理单击,我可以进行处理。 但是,如果行处于编辑模式,那么actionColumn似乎根本没有反应 我尝试过使用编辑器选项,但没有任何效果。我也很难使用一些听众,但我找不到与此问题相关的事件 有什么想法吗 您可以使用此方法实

我目前遇到了RowEditing插件的问题,无法找到任何相关的东西来帮助我

我使用RowEditing插件提供了一个网格,并被要求添加一个包含“重置”按钮的行。最好的选择似乎是使用actionColumn

当行未处于编辑模式时,就没有问题了,actionColumn可以正确地处理单击,我可以进行处理。 但是,如果行处于编辑模式,那么actionColumn似乎根本没有反应

我尝试过使用编辑器选项,但没有任何效果。我也很难使用一些听众,但我找不到与此问题相关的事件


有什么想法吗

您可以使用此方法实现您的功能,而不是使用行编辑插件:

   {
    xtype: 'actioncolumn',
    width: 50,
    items: [{
             icon: 'edit.png', // Use a URL in the icon config
             tooltip: 'Update',
             handler: function (grid, rowIndex, colIndex) {
                var rec = grid.getStore().getAt(rowIndex);
                alert("Edit " + rec.get('name'));
                rec.set("name", "LISA124"); //Here you may have your logic of updating the data with new data   
               }
             },
             {
              icon: 'reset.png',
              tooltip: 'Reset',
              handler: function (grid, rowIndex, colIndex) {
                  var rec = grid.getStore().getAt(rowIndex);
                  alert("Reset " + rec.get('name'));
                  rec.set("name", rec.raw.name);
                }
              }
             ]
     }
看看这个


如果你想坚持自己的要求,可以使用@Jeff建议的方法。

最后,我选择了另一种方法:

 {
xtype: 'actioncolumn',
action : 'tarifRowAction',
handler: function (grid, rowIndex, colIndex) 
{
    console.log("got click handler § ");
    me.fireEvent("clickedMAJButton", grid, rowIndex, colIndex);
},
editor: 
{
     xtype: 'button',
     handler: function (grid, rowIndex, colIndex) 
    {
        console.log("got click handler § ");
        me.fireEvent("clickedMAJButton", grid, rowIndex, colIndex);
    },
},
items: [
            {
                 icon: 'images/image16/modifier.png',
                 action : 'tarifRowAction',
                 scope: me
            }
        ]

}

我认为,如果您使用的是行编辑插件,您不需要重置操作列,因为您的操作列上会有“更新”和“取消”按钮来匹配您的功能。但是,如果这是您的要求,那么您可以使用单元格编辑器插件。如果行是第一次编辑的,第二次:取消按钮不允许将行重置为初始状态;这就是我需要“重置”按钮的原因。@JRZ在重置值之前,您是否尝试过强制执行
canceledit
事件?因此,如果它们未处于编辑模式,您只需重置,但如果它们处于编辑模式,请调用
cancelEdit()
,然后重置值。