关于在ext4中,Ext.grid.column.Action里面,如何动态让每行操作列根据该行某个字段而显示不同的图标

请教各位大侠,在ext4中,Ext.grid.column.Action里面,如何动态让每行的操作列根据该行某个字段的不同而显示不同的图标以及对应方法呢?... 请教各位大侠,在ext4中,Ext.grid.column.Action里面,如何动态让每行的操作列根据该行某个字段的不同而显示不同的图标以及对应方法呢? 展开
 我来答
罐头l桃子
2013-05-16 · TA获得超过167个赞
知道小有建树答主
回答量:204
采纳率:0%
帮助的人:147万
展开全部
你要解决的问题其实就是先判断再显示图标,而你现在的方式是先显示图标,再去判断就不会有作用了。其实很简单
你在定义Ext.grid.column.Action中加上一个方法,大概意思是这样,
setIcon : function(ic){
this.icons = ic;
}
然后你初始化Ext.grid.column.Action时不配置icons属性,先去拿到record(这个你应该会吧)判断,假设如果有个字段值是1的话就用1.png,那么就拿到Ext.grid.column.Action对象调用setIcon(“1.png”),如果是0的话用0.png,那么就拿到Ext.grid.column.Action对象调用setIcon(“0.png”),
wuhuayu082
推荐于2017-11-25
知道答主
回答量:23
采纳率:0%
帮助的人:10.6万
展开全部

Ext4官方的案例第一个,array-grid,里面的actioncolumn

 xtype: 'actioncolumn',
                width: 50,
                items: [{
                    icon   : '../shared/icons/fam/delete.gif',  // Use a URL in the icon config
                    tooltip: 'Sell stock',
                    handler: function(grid, rowIndex, colIndex) {
                        var rec = store.getAt(rowIndex);
                        alert("Sell " + rec.get('company'));
                    }
                }, {
                    getClass: function(v, meta, rec) {          // Or return a class from a function
                        if (rec.get('change') < 0) {
                            this.items[1].tooltip = 'Hold stock';
                            return 'alert-col';
                        } else {
                            this.items[1].tooltip = 'Buy stock';
                            return 'buy-col';
                        }
                    },
                    handler: function(grid, rowIndex, colIndex) {
                        var rec = store.getAt(rowIndex);
                        alert((rec.get('change') < 0 ? "Hold " : "Buy ") + rec.get('company'));
                    }
                }]

可以那个getClass那里设置,用rec.get('xxx')来获取所在行xxx字段的值,根据不同的值返回css设置的图标。

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式