【问题标题】:Combobox not loading displaying store data - Ext JS组合框未加载显示商店数据 - Ext JS
【发布时间】:2013-08-16 16:08:49
【问题描述】:

无论我尝试什么,我都无法让组合框显示商店中的单个字段。

这是我的代码:

存储/Criteria_1.js

Ext.define('AM.store.Critera_1', { //temp store
    extend: 'Ext.data.Store',
    model: 'AM.model.Criteria1',
    storeId: 'search_criteria_1',
    fields: ['TECH_NAME', 'KBE_ID', 'KBE_NAME'],
    data : [
        { TECH_NAME: 'TECH_NAME' },
        { KBE_ID: 'KBE_ID' },
        { KBE_NAME: 'KBE_NAME' }
    ];
});

模型/Criteria_1.js

Ext.define('AM.model.Criteria_1', {
    extend: 'Ext.data.Model',
    fields: [
        { name: 'TECH_NAME', type: 'string' },
        { name: 'KBE_ID', type: 'int' },
        { name: 'KBE_NAME', type: 'string' }
    ]
});

这就是我要调用它的地方,app.js:

{ xtype: 'combobox', padding: 5,   id: 'criteria_1_dropdown', store: Ext.StoreManager.get('Criteria_1'), displayField: 'KBE_ID' },

我也不想使用代理。有什么想法吗?

【问题讨论】:

    标签: extjs model combobox store


    【解决方案1】:

    如果您使用的是Model,则不应在您的商店中定义fields。还。您在商店中拥有的data 很可能不是您想要的。您有 3 条不同的记录,每条记录都只填充了一个字段。你可能想要这个:

    data : [
        { 
            TECH_NAME: 'TECH_NAME',
            KBE_ID: 'KBE_ID',
            KBE_NAME: 'KBE_NAME' 
        }
    ]
    

    【讨论】:

      【解决方案2】:

      我遇到了同样的问题。我通过查看 Extjs 5 文档中的这个示例解决了它:http://dev.sencha.com/extjs/5.0.0/examples/kitchensink/#form-combos

      你有一些不同的东西。试试这个:

      Ext.define('AM.model.Criterion', { // the model name should be singular; it refers to only one entry)
          extend: 'Ext.data.Model',
          fields: [
             'TECH_NAME',
             'KBE_ID',
             'KBE_NAME'
          ]
      });
      
      Ext.define('AM.store.Critera_1', { //temp store
          extend:'Ext.data.ArrayStore',
          model: 'AM.model.Criterion',
          storeId: 'search_criteria_1',
          data : [
              [ 'TECH_NAME_ONE', 'KBE_ID_ONE', 'KBE_NAME_ONE' ]
          ];
      });
      

      最后:

      { 
          xtype: 'combobox', 
          padding: 5,   
          id: 'criteria_1_dropdown', 
          store: { type:'search_criteria_1' }, 
          displayField: 'KBE_ID',
          queryMode:'local'
      }
      

      关注queryMode:'local'。我未经测试就将我的工作代码改编为您的示例。

      希望对你有帮助。

      【讨论】:

        猜你喜欢
        • 2014-12-09
        • 1970-01-01
        • 2012-12-02
        • 2018-09-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-02-03
        • 2017-11-17
        相关资源
        最近更新 更多