2014-01-07 54 views
0

在我的网格中有一个复选框列。通过另一个不同的chechbox,我想切换网格内复选框列的启用和禁用。复选框列是我网格中的第一列。Gridcolumn启用/禁用

我做了这样的事情:

onCheckBoxFieldChange() { 
var testGrid = Ext.getCmp('testGrid'); 
var cm = testGrid.getView().getHeaderCt().getGridColumns(); 

if (newValue === true) { 
    cm[0].setDisabled(true); 
    cm[0].addCls('noClick'); 
} 
else { 
    cm[0].setDisabled(false); 
    cm[0].removeCls('noClick'); 
} 
} 

CSS:

.noClick { 
pointer-events: none; 
} 

我已经尝试了两种方法。一个与方法setDisabled和另一个设置一个CSS类。两种方法都行不通。请帮助...

回答

0

试试这个:

grid.getView().getHeaderCt().child('checkcolumn').setDisabled(newValue); 

这将搜索类型为checkcolumn然后禁用它的网格的列。

+0

我有一个checkboxSelectionModel与网格关联,所以这可能无法正常工作。 – Jacob

+0

我检查过许多类是附加到第一个colmn,它是“x-column-header-checkbox”,所以我尝试像这样:grid.getView()。getHeaderCt()。child('。x-column-header-复选框'),但它没有工作。 – Jacob