作家
登录

extjs中grid中嵌入动态combobox的应用

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

拿combobox的数据 复制代码 代码如下: comboDS = new Ext.data.JsonStore({ url : 'test.do', fields : [{ name : 'id' }, { name : 'display' }] }); combobox定义 combobox 中的id必须要有,后面要跟据id取combobox值。 复制代码 代码如下: var comboBox = new Ext.form.ComboBox({ id : "cb", //必须有 typeAhead : true, readOnly : true, allowBlank : false, autoScroll : true, selectOnFocus : true, emptyText : '请选择...', store : comboDS, forceSelection : true, triggerAction : 'all', displayField : 'display', valueField : 'id' }); grid 的定义: 复制代码 代码如下: ds = new Ext.data.Store({ baseparams : { start : 0, limit : RowCount }, proxy : new Ext.data.HttpProxy({ url :'test2.do' }), reader : new Ext.data.JsonReader({ root : 'data', totalProperty : 'totalCount' }, [{ name : "bh" }, { name : "test" }]); }); var cm = new Ext.grid.ColumnModel([new Ext.grid.RowNumberer(), { header : "编号", dataIndex : "bh" }, { header : "测试", dataIndex : "test", renderer : renderer, editor : comboBox }]); grid = new Ext.grid.EditorGridPanel({ title : '测试', ds : ds, cm : cm, clicksToEdit : 1, viewConfig : { forceFit : true }, bbar : new Ext.PagingToolbar({ pageSize : RowCount, store : ds, displayInfo : true, displayMsg : '显示第 {0} 条到 {1} 条记录,一共 {2} 条', emptyMsg : "没有记录" }) }); cm 的renderer函数 此方法为解决combobox修改后显示为id 复制代码 代码如下: function renderer(value, p, r) { var index = comboDS.find(Ext.getCmp('cb').valueField, value); var record = comboDS.getAt(index); var displayText = ""; if (record == null) { displayText = value; } else { displayText = record.data.display;// 获取record中的数据集中的display字段的值 }

  推荐阅读

  基于jquery的高性能td和input切换并可修改内容实现代码

在之前的基础上,添加方向键左右支持。 在实际工作中,我们会碰到这样一个情况。在页面中显示着100个数据,同时用户还希望他可以更改其中的数据,普通的方式可能如下, 这种方式会出现一个问题,就是页面显示的>>>详细阅读


本文标题:extjs中grid中嵌入动态combobox的应用

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

关键词: 探索发现

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

网友点评
自媒体专栏

评论

热度

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