Sencha Grid和Action Column

时间:2012-11-28 10:23:13

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

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

2 个答案:

答案 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(); 

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