Javascript Extjs:仅当另一个字段有值时才显示复选框
我有一个带有checkboxcolumn的网格,一切正常,但我只想在另一个字段具有特定值时显示复选框。我使用的是3.3.1版,但我想另一个版本的例子会让我开始学习。 如果不可能,禁用复选框也可以。 我是否必须在渲染器或侦听器中执行此操作,以及如何执行Javascript Extjs:仅当另一个字段有值时才显示复选框,javascript,extjs,extjs4,extjs3,Javascript,Extjs,Extjs4,Extjs3,我有一个带有checkboxcolumn的网格,一切正常,但我只想在另一个字段具有特定值时显示复选框。我使用的是3.3.1版,但我想另一个版本的例子会让我开始学习。 如果不可能,禁用复选框也可以。 我是否必须在渲染器或侦听器中执行此操作,以及如何执行 var checkColumn = new Ext.grid.CheckColumn({ header: 'Checklist OK ?', dataIndex: 'checklist_ok', width: 20, align
var checkColumn = new Ext.grid.CheckColumn({
header: 'Checklist OK ?',
dataIndex: 'checklist_ok',
width: 20,
align: 'center'
});
cmDiverse = new Ext.grid.ColumnModel({
defaults: {"sortable": true, "menuDisabled":false, "align":"right"},
store: storeDiverse,
columns: [
{"id":"id", "header": "id", "hidden": true, "dataIndex": "id", "width": 20},
checkColumn,
...
gridDiverse = new Ext.ux.grid.livegrid.EditorGridPanel({
id : "gridDiverse",
enableDragDrop : false,
loadMask : true,
clicksToEdit : 1,
layout :'anchor',
cm : cmDiverse,
....
您可以像这样扩展Ext.ux.grid.livegrid.EditorGridPanel:
Ext.extend(Ext.ux.grid.livegrid.EditorGridPanel,{
constructor:function(config){
config = Ext.apply({
cm: this.createColumnModel()
},config);
},
createColumnModel: function(){
PUT YOUR LOGIC HERE AND RETURN AN ARRAY OF COLUMNS...
}
})
我自己找到的,在checkColumn中添加了以下渲染器
renderer : function(v, p, record){
var type3m = record.get('type3m');
if ((['6M','11e']).indexOf(String(type3m)) != -1){ //if the field type3m contains certain values
p.css += ' x-grid3-check-col-td';
return '<div class="x-grid3-check-col'+(v?'-on':'')+' x-grid3-cc-'+this.id+'"> </div>';
}
}
渲染器:函数(v、p、record){
var type3m=record.get('type3m');
if(['6M','11e']).indexOf(String(type3m))!=-1{//如果字段type3m包含某些值
p、 css+=“x-grid3-check-col-td”;
返回“”;
}
}
to您需要在运行时显示和不显示列之间切换?不,列是可见的,但某些记录需要复选框,其他记录不需要复选框,但如何显示或隐藏某些记录的复选框?我想你的方法可以用来显示或隐藏整个专栏。。