2014-07-26 51 views
0

在網格中禁用列我有一些列和最後一列的網格是在EXTJS 4.0

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

我想禁用只有這個特定列。我怎樣才能做到這一點?

+1

你說的 '禁用' 是什麼意思?例如 –

+0

單擊該圖像,將刪除該記錄。我不希望發生這種情況。所以我想完全禁用所有記錄的列 – caddie

回答

0

您可以掛鉤現有的Ext.grid.column.Columndisable()通過檢查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

+0

非常感謝!有效 – caddie