You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否通过点击目标行触发Row-editing中的更新按钮?

当然可以实现!你可以通过监听RowEditing插件的相关事件或者Grid的行点击事件,来自动触发更新(保存)按钮的动作,下面给你两种实用的实现方案:

方案一:进入编辑模式后自动触发保存

这种方式适合你希望点击行进入编辑状态后,自动提交修改(相当于自动点击更新按钮)的场景。你只需要在RowEditing的startedit事件里调用插件的saveEdit()方法即可:

plugins: [
    Ext.create('Ext.grid.plugin.RowEditing', {
        clicksToEdit: 1,
        saveBtnText: 'Actualizar',
        cancelBtnText: 'Cancelar',
        listeners: {
            edit: function(editor, context, eOpts) {
                SgaWeb.app.getController('app').function()
            },
            canceledit: function(editor, context, eOpts) {
                var fila = me.store.getAt(0);
                if (fila.get('codigoDato') == '0') {
                    me.store.removeAt(0);
                }
            },
            // 新增startedit监听:进入编辑后立即保存
            startedit: function(editor, context, eOpts) {
                // 用setTimeout延迟一下,确保编辑界面渲染完成
                setTimeout(function() {
                    editor.saveEdit();
                }, 100);
            },
            beforeedit: function(editor, context, eOpts) {
                // 你的beforeedit逻辑
            }
        }
    })
]
方案二:点击行直接触发保存(灵活控制)

如果你希望更灵活地控制——比如点击行时,不管当前是否处于编辑状态都触发保存,可以监听Grid的rowclick事件,手动调用RowEditing的保存方法:

// 假设你的Grid实例是me.grid
me.grid.on('rowclick', function(grid, record) {
    // 获取RowEditing插件(建议给插件设置pluginId: 'rowEditing'方便获取)
    var rowEditing = grid.getPlugin('rowEditing');
    if (!rowEditing) return;

    if (rowEditing.editing && rowEditing.context.record === record) {
        // 当前行已经在编辑状态,直接保存
        rowEditing.saveEdit();
    } else {
        // 先进入编辑模式,再触发保存
        rowEditing.startEdit(record, 0);
        setTimeout(function() {
            rowEditing.saveEdit();
        }, 100);
    }
});

注意事项:

  • saveEdit()方法只有在记录的数据有变更时才会触发edit事件和提交操作,如果想强制提交(哪怕数据没改),可以手动调用record.save()方法替代。
  • 加setTimeout是为了确保编辑控件已经渲染完成,避免出现DOM未就绪的问题,你可以根据实际情况调整延迟时间。

内容的提问来源于stack exchange,提问作者1

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 10:10:20