在EXTJS 4.0中禁用网格中的列

时间:2014-07-26 07:22:57

标签: extjs

我有一个包含一些列的网格,最后一列是

{
    text     : '',
    id : 'delId',
    width    : 40,
    dataIndex: 'del',
    renderer : function(){
    return '<center><div class="image-hover-delete"></div></center>';
}

我想只禁用此特定列。我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

您可以通过在触发事件处理程序时检查Ext.grid.column.Column来挂钩现有的disable() isDisabled()。例如:

var grid = Ext.create('Ext.grid.Panel', {
    // ...
    columns: [
        {
            // ...
        },
        {
            text: '',
            width: 40,
            itemId: 'delCol',
            menuDisabled: true,
            renderer: function(){
                return '<div class="image-delete"></div>';    
            }
        }
    ],
    store: {
        // ...
    }          
});

grid.on('cellclick', function(me, td, x, record){
    if(Ext.fly(td).hasCls('x-grid-cell-delCol')
       && !this.down('#delCol').isDisabled()       // <--- e.g.
      )
        this.getStore().remove(record);
});

» fiddle