关于在ext4中,Ext.grid.column.Action里面,如何动态让每行操作列根据该行某个字段而显示不同的图标
答案:3 悬赏:70 手机版
解决时间 2021-01-26 07:01
- 提问者网友:听门外雪花风
- 2021-01-25 18:25
请教各位大侠,在ext4中,Ext.grid.column.Action里面,如何动态让每行的操作列根据该行某个字段的不同而显示不同的图标以及对应方法呢?
最佳答案
- 五星知识达人网友:狂恋
- 2021-01-25 19:03
Ext4官方的案例第一个,array-grid,里面的actioncolumn<br> xtype: 'actioncolumn',<br> width: 50,<br> items: [{<br> icon : '../shared/icons/fam/delete.gif', // Use a URL in the icon config<br> tooltip: 'Sell stock',<br> handler: function(grid, rowIndex, colIndex) {<br> var rec = store.getAt(rowIndex);<br> alert("Sell " + rec.get('company'));<br> }<br> }, {<br> getClass: function(v, meta, rec) { // Or return a class from a function<br> if (rec.get('change') < 0) {<br> this.items[1].tooltip = 'Hold stock';<br> return 'alert-col';<br> } else {<br> this.items[1].tooltip = 'Buy stock';<br> return 'buy-col';<br> }<br> },<br> handler: function(grid, rowIndex, colIndex) {<br> var rec = store.getAt(rowIndex);<br> alert((rec.get('change') < 0 ? "Hold " : "Buy ") + rec.get('company'));<br> }<br> }]可以那个getClass那里设置,用rec.get('xxx')来获取所在行xxx字段的值,根据不同的值返回css设置的图标。
全部回答
- 1楼网友:洒脱疯子
- 2021-01-25 21:43
你要解决的问题其实就是先判断再显示图标,而你现在的方式是先显示图标,再去判断就不会有作用了。其实很简单
你在定义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”),
- 2楼网友:酒安江南
- 2021-01-25 20:12
你重复问问题了,昨天已经帮你解决了吧?采纳我吧嘿嘿
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯