Ext Js Combo按不同的项目过滤

时间:2011-04-10 21:15:17

标签: javascript extjs combobox filter datastore

我有两个要求绑定EXT Js组合

- 组合中的第一个项目应该有固定的文本,例如“Unfilterd”

- 之后我需要将数据存储绑定到上面的组合。数据存储区已重新创建columnA值,因此如何在绑定组合之前过滤数据存储区,使其在columnA中具有不同的行。

注意:

我正在使用数据存储来绑定网格panle,我也不想再创建对数据库的调用。这就是我寻找Ext Js数据存储过滤数据的解决方案的原因。

我的示例代码如下

extManager1.comboFilter = new Ext.form.ComboBox({
                  editable: false
                , id: 'BaseTemplate'
                , fieldLabel: 'Base Templates'
                , name: 'BaseTemplate'
                , editable: false
                , store: extManager1.GetTemplateDetails
                , displayField:'FilterBy'
                , valueField: 'value'
                , mode: 'local'
                , boxLabel: 'BaseTemplate'
                , typeAhead: true
                , triggerAction: 'all'
                , forceSelection: true
                , selectOnFocus: true
                , emptyText:'Unfilterd'
                ,listeners:{select:{fn:function(combo, value) { 

                //This code filters the grid panel data by selected combo value
                Ext.getCmp('TemplateGridPanel').store.filter('productdisplayheading', combo.getValue());               

                }}

                }

    });

1 个答案:

答案 0 :(得分:2)

您可能需要使用所需内容创建另一个商店对象。但是不需要再次从数据库中获取数据 - 您可以使用extManager1.GetTemplateDetails商店中的数据填充新商店。查看collect method of ExtJS Store - 它可用于从现有商店中获取不同的值。