extjs中grid中嵌入动态combobox的应用
文件大小: 27k
源码售价: 10 个金币 积分规则     积分充值
资源说明:拿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, autoScro 在EXTJS中,将动态Combobox嵌入到Grid中是一种常见的需求,这允许用户在单元格内选择一个下拉列表的值,同时保持数据的关联性。以下是对标题和描述中涉及的知识点的详细说明: 1. **Ext.data.JsonStore**: 这是EXTJS中的一个数据存储类,用于处理JSON格式的数据。`comboDS`实例化了一个JsonStore,它通过`url: 'test.do'`从服务器获取数据,并定义了两个字段:`id`和`display`。 2. **ComboBox**: `Ext.form.ComboBox`是EXTJS中的下拉框组件,用于创建具有下拉选项的输入字段。在这里,我们定义了一个ComboBox,设置了它的各种属性如`id: "cb"`(必需,用于后续操作),`typeAhead: true`(允许用户输入时自动匹配选项),`readOnly: true`(不允许手动编辑),以及`store: comboDS`(绑定到之前创建的JsonStore)。 3. **Grid**: EXTJS中的Grid组件用于展示二维数据。`ds`是Grid的存储对象,它同样是一个JsonStore,但数据源为`'test2.do'`。`reader`配置项指定了数据解析方式,`root: 'data'`表示数据在JSON响应中的根节点,`totalProperty: 'totalCount'`表示总记录数的属性名。 4. **ColumnModel**: `cm`是Grid的列模型,定义了每列的属性,包括列头和数据索引。其中,有一个列的`renderer`属性设置为自定义函数,用于在单元格中渲染ComboBox。 5. **EditorGridPanel**: 这是可编辑的Grid面板,允许用户直接在Grid中编辑数据。`ds`和`cm`分别指定了数据源和列模型,`clicksToEdit: 1`表示单击即可编辑,`viewConfig: { forceFit: true }`使得列宽自动适应。 6. **renderer函数**: 这个函数用于在Grid中显示ComboBox的选择值。当ComboBox的值被修改时,它会查找对应的`display`字段的值,并显示在Grid中。如果找不到匹配的记录,则默认显示选中的`id`值。 7. **PagingToolbar**: 底部的分页工具栏允许用户分页浏览数据,它绑定了数据存储`ds`,并提供了显示页码、记录总数等信息的功能。 在EXTJS应用中,将动态Combobox嵌入Grid可以提供丰富的交互体验,用户可以在Grid的单元格中直接选择下拉列表中的值,同时,通过自定义的renderer函数确保数据显示的正确性。这种做法在数据管理界面中非常常见,特别是在需要对复杂数据进行筛选和编辑的场景下。
本源码包内暂不包含可直接显示的源代码文件,请下载源码包。