1

我在网格上有这个:

{                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 = '';,它会从所有列中删除图标......

如何访问与条件匹配的特定行的列?

4

2 回答 2

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;
            },

渲染器似乎覆盖了初始配置,这就是所有记录都没有图标的原因。

于 2012-11-28T12:20:59.230 回答
1

使用this那里确实有风险。您最终可能会遇到其他情况。

但是好的,如果你有我推荐你使用的实例

setVisible(false);
disable();

禁用和

setVisible(true);
enable(); 

启用。仅仅删除图像是不够的。

于 2012-11-28T10:39:01.350 回答