Ext3动态修改EditorGridPanel的列模型renderer(js函数动态创建)
2015-08-25 00:00
721 查看
摘要: js动态创建函数去动态修改Ext3中Ext.grid.EditorGridPanel的列模型renderer
本质上属于js函数动态创建问题。
现在有这样一个需求,Ext.grid.EditorGridPanel的Ext.grid.ColumnModel的某一列是一个Ext.form.ComboBox,熟悉这个的人就知道存在一个valueField和displayField的问题,如下所示,
这里就用renderer属性来控制“显示”和“值”之间的转换,而现在这个store是从服务器拿数据的Ext.data.JsonStore,因此在这个Ext.grid.EditorGridPanel渲染完毕之后这里的renderer才能根据这个store的数据动态生成一个rendererFunc函数,也就说这个renderer是后来才动态生成的,这里记录了如何动态生成renderer的过程
我们看到一开始这里的idcm.renderer是undifined的,后来我们给他换了一下,然后再reload一下grid就可以了
本质上属于js函数动态创建问题。
现在有这样一个需求,Ext.grid.EditorGridPanel的Ext.grid.ColumnModel的某一列是一个Ext.form.ComboBox,熟悉这个的人就知道存在一个valueField和displayField的问题,如下所示,
new Ext.grid.Column({ header : '编号', dataIndex : 'idserial', width : 120, id : 'idserial', name : 'idserial', editor : new Ext.form.ComboBox({ store : Ext.dataMap.get('func_id_MAP_T_FUNC_LIST_Store'), valueField : 'value', displayField : 'display', typeAhead : false, triggerAction : 'all', lazyRender : true }), renderer : Ext.dataMap.get('func_id_MAP_T_FUNC_LIST_Renderer') })
这里就用renderer属性来控制“显示”和“值”之间的转换,而现在这个store是从服务器拿数据的Ext.data.JsonStore,因此在这个Ext.grid.EditorGridPanel渲染完毕之后这里的renderer才能根据这个store的数据动态生成一个rendererFunc函数,也就说这个renderer是后来才动态生成的,这里记录了如何动态生成renderer的过程
s=Ext.dataMap.get('func_id_MAP_T_FUNC_LIST_Store'); grid=Ext.getCmp('mytableGrid'); cm=grid.getColumnModel(); idcm=cm.getColumnById('idserial'); idcm.renderer; idcm.renderer = new Function('value', "if(value=='kbzfzl001'){return '开闭站负载率';}else if(value=='zzzpfzl001'){return '重载直配负载率';}else if(value=='kmggz001'){return '看门狗故障';}else if(value=='khzb001'){return '考核指标';}else if(value=='gfhjs001'){return '过负荷监视';}else if(value=='bdzfzl001'){return '变电站负载率';}else if(value=='ztfzl001'){return '自投负载率';}else if(value=='dcnfzl001'){return '电采暖负载率';}else if(value=='sgbj001'){return '事故报警';}"); grid.getStore().reload();
我们看到一开始这里的idcm.renderer是undifined的,后来我们给他换了一下,然后再reload一下grid就可以了
相关文章推荐
- C#动态调整数组大小的方法
- 从jsp发送动态图像
- 编程语言里的静态、动态、强类型、弱类型等概念介绍
- php中动态变量用法实例
- C#中事件的动态调用实现方法
- JavaScript实现动态删除列表框值的方法
- jQuery+PHP实现动态数字展示特效
- JS动态修改iframe高度和宽度的方法
- JS实现文件动态顺序载入的方法
- JS动态显示表格上下frame的方法
- JavaScript动态修改背景颜色的方法
- javascript实现动态表头及表列的展现方法
- javascript创建动态表单的方法
- JS动态修改表格cellPadding和cellSpacing的方法
- jQuery在页面加载时动态修改图片尺寸的方法
- Jquery实现动态切换图片的方法
- jQuery动态创建html元素的常用方法汇总
- jQuery 动态酷效果实现总结
- Oracle9i 动态SGA,PGA特性探索
- C#在运行时动态创建类型的实现方法