煎茶网格和动作栏

Posted

技术标签:

【中文标题】煎茶网格和动作栏【英文标题】:Sencha Grid and Action Column 【发布时间】:2012-11-28 10:23:12 【问题描述】:

我在网格上有这个:

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

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

【问题讨论】:

【参考方案1】:

我已经解决了:

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

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

【讨论】:

【参考方案2】:

使用this 确实有风险。您最终可能会得到其他实例。

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

setVisible(false);
disable();

禁用和

setVisible(true);
enable(); 

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

【讨论】:

问题是“this”或“grid.columns”指的是所有列...我希望能够访问那个特定的列。 @MiguelTeixeira 就像我想的那样……那会很难。问题是,渲染器函数(可以“覆盖”)知道值但不知道列类型。对于您的情况,您需要将两者混合。我想最好的方法是创建自己的操作栏。有了它,您就拥有了完全的控制权,这样您就可以触发一个包含值 + 实例的侦听器 感谢您的帮助,我已经弄明白了。

以上是关于煎茶网格和动作栏的主要内容,如果未能解决你的问题,请参考以下文章

24Cocos2dx 3.0游戏开发找小三之网格动作:高炫酷的3D动作

Kivy:在网格中分配动作/分类按钮

Struts2 jquery 插件网格:选择行时,调用动作并隐藏网格中的行

动作的标题文本颜色没有改变以及如何更改动作栏的标题文本颜色

在android中创建自己的动作栏

AG-Grid:根据条件在网格中显示某些“动作”按钮