0

我正在为复选框列使用 checkboxmodel 插件。但是,我想要的是'如果我检查一列,该行的某些单元格将是可编辑的'......我搜索了很多但没有运气。我正在使用 MVC 模式和因为插件,我不知道如何处理它

/**Grid View**/

    plugins: [
        Ext.create('Ext.grid.plugin.CellEditing', {
            clicksToEdit: 2
        })
    ],
    selType: 'cellmodel',
    selModel: Ext.create('Ext.selection.CheckboxModel', {
        checkOnly: true,
        listeners: {
            selectionchange: function(model, records) {
                if (records[0]) {
                    //make any cell of a field editable
                }
            }
        }
    }),
    {
        header:'name',
        dataIndex:'name'},
        {
            header:'Quantity',
            dataIndex:'quantity',
        }

在这里,如果我检查任何行,我想让网格的数量字段可编辑...如果有人可以提供帮助,那就太好了...

4

1 回答 1

1

尝试这个:

1)创建编辑器插件实例供参考:

var editor = Ext.create('Ext.grid.plugin.CellEditing', {
            clicksToEdit: 2
        });

2)在网格插件定义中使用这个实例:

plugins: [
        editor
    ]

3) 修改您的 selModel 定义,使其看起来像这样:

selModel: Ext.create('Ext.selection.CheckboxModel', {
        checkOnly: true,
        listeners: {
            selectionchange: function(model, records) {
                if (records[0] && !editor.editing) {
                    editor.startEdit(records[0], 2);    // 2 is the number of column you want to edit
                }
            }
        }
    }),

使用此解决方案,当检查网格行时,您只能编辑一个单元格。此外,如果选择更改等,您将需要实施额外的逻辑来停止编辑以前编辑的单元格......希望这个提示对您有所帮助。

于 2013-06-11T09:20:06.360 回答