Extjs Sencha网格和作用柱

Extjs Sencha网格和作用柱,extjs,grid,extjs4.1,Extjs,Grid,Extjs4.1,我有一个网格: { xtype: 'actioncolumn', renderer: function (val, metadata, record) { if (record.raw.possibleActions != 2) { this.items[0].icon = ''; this.items[0].tooltip = '

我有一个网格:

{                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时,隐藏action列的图标

使用此。项[0]。图标=;它将从所有列中删除图标

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

使用此选项确实有风险。您可能会遇到其他一些情况

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

setVisible(false);
disable();
禁用和

setVisible(true);
enable(); 
使能。仅仅删除图像是不够的。

使用这种方法确实有风险。您可能会遇到其他一些情况

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

setVisible(false);
disable();
禁用和

setVisible(true);
enable(); 
使能。仅仅删除图像是不够的。

我已经解决了这个问题:

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;
            },
渲染器似乎覆盖了初始配置,这就是为什么所有记录都没有图标的原因。

我已经解决了这个问题:

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

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

问题是“this”或“grid.columns”指的是所有列。。。我希望能够访问特定的一个。@Migueltexeira,正如我所想。。。那会很难。问题是,可以“重写”的渲染器函数知道值,但不知道列类型。就你的情况而言,你需要把两者都混在一起。我想最好的办法是创建自己的行动专栏。有了它,你就有了完全的控制权,这样你就可以启动一个包含值+实例的侦听器谢谢你的帮助,我已经弄明白了。问题是“this”或“grid.columns”指的是所有的列。。。我希望能够访问特定的一个。@Migueltexeira,正如我所想。。。那会很难。问题是,可以“重写”的渲染器函数知道值,但不知道列类型。就你的情况而言,你需要把两者都混在一起。我想最好的办法是创建自己的行动专栏。有了它,你就拥有了完全的控制权,这样你就成为了一个包含值+实例的监听器。谢谢你的帮助,我已经弄明白了。