首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何定义网格中每个单元格组合框编辑器的不同存储?

如何定义网格中每个单元格组合框编辑器的不同存储?
EN

Stack Overflow用户
提问于 2013-12-20 23:56:03
回答 2查看 3K关注 0票数 3

我需要使用extjs4.2.1实现一个网格。这个网格将有cellEditing插件,在列中我将有许多文本框和组合框。

我的问题是为了一个特殊的案子。我有一篇国家专栏(举个例子)。专栏编辑将是与国家商店的组合框。下一个组合框将是位于同一行索引的选定国家的城市。当我定义该商店时,这个列将保留在同一家商店中,而我不知道这一点。

在第0行中,我选择USA,我必须在下一个组合中加载美国城市。在第1行,我选择英国国家,我必须加载英国城市,但如果返回到第0行并选择美国城市,我想看到的是美国城市,而不是英国城市。

如何为每个组合单元定义不同的存储?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-12-21 06:19:44

您必须将您的商店定义为

代码语言:javascript
复制
Ext.define('MyApp.city.Store',{
   extend:'Ext.data.Store',
   //all properties which you need
});

您应该在城市单元格中创建它的实例,如

代码语言:javascript
复制
cityStore = Ext.create('MyApp.city.Store');

票数 0
EN

Stack Overflow用户

发布于 2013-12-21 12:11:57

您需要使用Ext.grid.plugin.CellEditing插件来设置网格,以支持网格单元格的编辑。作为城市专栏编辑器,您将使用Ext.form.field.ComboBox。当用户在城市栏中的单元格上输入编辑模式时,您将过滤编辑器组合框的存储区。有关从编辑行记录中获得的筛选城市组合框所需的选定国家的信息。

  1. 首先,您必须使用Ext.form.field.ComboBox实例设置城市列编辑器,该实例将用于编辑: var comboCities =Ext.create(‘Ext.form.field.comboCities’,{ store: storeCities,queryMode:'local',displayField:'name',valueField:'name‘}; 在网格列定义中: 列:.{标题:'City',dataIndex:'city',编辑: comboCities,},.
  2. 其次,必须将Ext.grid.plugin.CellEditing插件配置监听器添加到beforeedit事件中。在此侦听器中,您可以确定哪个列开始编辑。如果编辑列是“城市”列,则可以从编辑有关选定国家和筛选comboCities存储区的行记录信息中获得。因此,在过滤商店将只有城市为选定的国家。 例如,网格配置中的插件配置应该是: { ..。插件:Ext.create(‘Ext.grid.plugin.CellEdting’),{ clicksToEdit: 1,监听器:{preeded:function(编辑器,( e) { // detrmine,哪个列开始编辑if (e.colIdx == 2) { //从编辑行selectedCountry =e.record.get(‘country’)中获取有关选定国家的信息;// filter存储城市storeCities.clearFilter();storeCities.filter('country',selectedCountry);},.}

查看实时配置示例: https://fiddle.sencha.com/#fiddle/2bj

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20713788

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档