2017-02-02 13 views
2

我有一个标签面板只有几个选项卡。其中一个包含网格,网格包含3个文件: 1个编辑器类型为“textfield”的项目,以及2个编辑器类型为“combobox”的项目。ExtJS Combobox错误:无法读取未定义的属性“商店”

问题:我想根据以前的组合框过滤组合框。但由于某种原因,它只能在第一次使用。之后,商店返回未定义。

这里是我的代码:

items:[{ 
    xtype: 'grid', 
    id:'schema', 
    border: false,  
    data:[], 
    columns: 
    [{ 
     text  : 'Size', 
     dataIndex: 'size', 
     id: "SizeDropdown", 
     width : 200, 
     sortable : true, 
     editor : { 
      xtype: 'combobox', 
      id:'SelectSize', 
      editable:true, 

      valueField: 'typeValue', 
      displayField: 'typeValue', 
      mode:'local', 
      lastQuery: '', 
      listeners:{ 
      }, 
      store: new Ext.data.SimpleStore({ 
       fields: ['size', 'typeValue'], 
       data: [ 
         ['char', '12'], 
         ['char', '30'], 
         ['char', '31'], 
         ['int', '250'], 
         ['int', '500'], 
         ['int', '1000'], 
        ] 
      }), 
      allowBlank: false, 
      validator: function(input){         
       return true; 
      } 
     } 
    }], 
    listeners: { 
     beforeitemclick: function (eventThis, record, rowIndex, e) { 

      var SizeStore = Ext.getCmp('SizeDropdown').editor.store 

      SizeStore.clearFilter(); 
      SizeStore.filter('size', record.data.type); 
     } 
    } 

'record.data.type'回报 '字符' 或 'INT',根据前组合框和过滤工作好。但只是第一次。之后,它打破了这里:

var SizeStore = Ext.getCmp('SizeDropdown').editor.store 

,并返回:

Cannot read property 'store' of undefined 

我使用ExtJS的 “4.0.7”

+2

您可以移动商店类之外。通常定义它。我认为在编辑器中定义商店并不是个好主意。你也可以在fiddle.sencha.com上用这种帮助重新创建你的问题会容易得多。 – pagep

+0

@pagep谢谢,我在课堂外宣布了这家店,它工作。 :)如果您愿意,请将其写为答案,我会接受它。 – Nyagolova

回答

0

声明店外的标签类做的工作。

这里是我做过什么:

 var sizeDropdownStore = new Ext.data.SimpleStore({ 
      fields: ['size', 'typeValue'], 
      data: [ 
        ['char', '12'], 
        ['char', '30'], 
        ['char', '31'], 
        ['int', '250'], 
        ['int', '500'], 
        ['int', '1000'], 
      ] 
     }); 


     ...{ 
      xtype: 'combobox', 
      id:'SelectSize', 
      editable:true, 
      valueField: 'typeValue', 
      displayField: 'typeValue', 
      mode:'local', 
      listeners:{ 
      }, 
      store: sizeDropdownStore, 
      allowBlank: false 
     }... 
相关问题