作家
登录

Extjs EditorGridPanel中ComboBox列的显示问题

作者: 来源:www.28hudong.com 2013-03-30 00:49:48 阅读 我要评论

为了解决这个问题需要在EditorGridPanel的ColumnModel中显示ComboBox的地方使用renderer属性,重新渲染,方法如下: 复制代码 代码如下: //部门列表 var comboxDepartmentStore = new Ext.data.Store({ proxy: new Ext.data.HttpProxy({ url: "GetDepartmentJson.aspx", method: 'GET' }), reader: new Ext.data.JsonReader({ root: 'data', totalProperty: 'totalCount', fields: [ { name: 'departmentid', mapping: 'ID' }, { name: 'departmentname', mapping: 'Name' } ] }) }); //根据Combobox列表中对应的Id的值来渲染 function rendererMeterTypeCombobox(value, p, r) { var index = comboxDepartmentStore.find(Ext.getCmp('cbdepartment').valueField, value); var record = comboxDepartmentStore.getAt(index); var displayText = ""; if (record == null) { return value; } else { return record.data.astype; // 获取record中的数据集中的display字段的值 } } var sm = new Ext.grid.CheckboxSelectionModel(); var cm = new Ext.grid.ColumnModel({ columns: [sm, new Ext.grid.RowNumberer(), { header: 'id', dataIndex: 'id', hidden: true }, { header: '姓名', width: 40, dataIndex: 'name' }, { header: '所属部门', width: 80, dataIndex: 'department', renderer: rendererDepartmentCombobox, editor: new Ext.form.ComboBox({ id: "cbdepartment", //必须有 forceSelection: true, selectOnFocus: true, typeAhead: true, triggerAction: 'all', store: comboxDepartmentStore, mode: 'local', displayField: 'departmentname', valueField: 'departmentid', lazyRender: true }) }], defaults: { zsortable: true, menuDisabled: false, width: 100 } }); var editGrid = new Ext.grid.EditorGridPanel({ id: 'TestGrid', store: store, //EditorGridPanel使用的store trackMouseOver: true, disableSelection: false, clicksToEdit: 1, //设置点击几次才可编辑 loadMask: true, autoHeight: true, cm: cm, sm: sm, viewConfig: { columnsText: '显示/隐藏列', sortAscText: '正序排列', sortDescText: '倒序排列', forceFit: true, enableRowBody: true }, bbar: new Ext.PagingToolbar({ pageSize: 25, store: store, displayInfo: true, displayMsg: '当前显示从{0}至{1}, 共{2}条记录', emptyMsg: "当前没有记录" }) });

  推荐阅读

  在IE浏览器中resize事件执行多次的解决方法

这是个让人每次改变页面窗口的大小时很郁闷的方法,尤其在IE浏览器中,稍微动下窗口边框,就会触发很多次事件。更让人蛋疼的是在resize事件中包含某些页面内容处理或计算导致resize事件再次被触发的时候,IE会随机>>>详细阅读


本文标题:Extjs EditorGridPanel中ComboBox列的显示问题

地址:http://www.17bianji.com/kaifa2/JS/24441.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)