extjs - 如何在单击复选框后启用网格单元格vaule进行编辑

时间:2016-04-07 22:22:42

标签: extjs extjs4 extjs5

如何在单击同一行中的复选框后才能启用网格单元格编辑。

var simpsonPanel = Ext.create('Ext.grid.Panel', {
    title: 'Simpsons',
    //selType: 'checkboxmodel',
    forceFit:true,
    plugins: [
        Ext.create('Ext.grid.plugin.CellEditing', {
        clicksToEdit: 1
    })],
    store: Ext.data.StoreManager.lookup('simpsonsStore'),
    columns: [
        {
                xtype: 'checkcolumn',
               // text: 'Phase 9',
                dataIndex:'Phase9',
                listeners: {
                        checkChange: onCheckChange
                }},
        { text: 'Name',  dataIndex: 'name'},
        { text: 'Email', dataIndex: 'email' },
        { text: 'Phone', dataIndex: 'phone' }
    ],
    height: 200,
    width: 400

});

总代码https://fiddle.sencha.com/#fiddle/18c0

单击复选框后,我需要启用名称单元格进行编辑。 如果未选中该复选框,则用户无法编辑名称单元格。

由于

2 个答案:

答案 0 :(得分:1)

您可以收听beforeedit事件,并返回一个是否允许编辑的标记。

Ext.create('Ext.grid.plugin.CellEditing', {
    clicksToEdit: 1,
    listeners: {
        beforeedit: function(editor, event) {
            return event.record.get('Phase9');
        }
    }
})]

https://fiddle.sencha.com/#fiddle/18c4

答案 1 :(得分:0)

在配置选项中如果你输入checkOnly: true,那么它只会在你点击复选框时检查,否则不会。

请参阅文档:http://docs.sencha.com/extjs/4.2.5/#!/api/Ext.selection.CheckboxModel-cfg-checkOnly