我在网格上有这个:
{ xtype: 'actioncolumn',
renderer: function (val, metadata, record) {
if (record.raw.possibleActions != 2) {
this.items[0].icon = '';
this.items[0].tooltip = '';
}
metadata.style = 'cursor: pointer;';
return val;
},
width: 30,
align: 'center',
sortable: false,
items: [{
icon: 'images/edit.png',
tooltip: 'stuff',
handler: function (grid, rowIndex, colIndex) {
'do stuff'
}
}]
},
我希望当字段“possibleActions”不同于2时隐藏动作列的图标。
使用此this.items[0].icon = '';
,它会从所有列中删除图标...
如何访问与条件匹配的特定行的列?
答案 0 :(得分:5)
我已经解决了:
renderer: function (val, metadata, record) {
if (record.raw.possibleActions != 2) {
this.items[0].icon = '';
this.items[0].tooltip = '';
} else {
this.items[0].icon = 'images/edit.png';
this.items[0].tooltip = 'RELATÓRIO FINAL';
}
metadata.style = 'cursor: pointer;';
return val;
},
渲染器似乎覆盖了初始配置,这就是所有记录都没有图标的原因。
答案 1 :(得分:1)
好好使用this
,确实存在风险。您最终可能会遇到其他一些情况。
但是好的,如果你有实例,我建议你使用
setVisible(false);
disable();
禁用和
setVisible(true);
enable();
启用。仅仅删除图像是不够的。