Extjs 3.2 网格过滤器不工作

Posted

技术标签:

【中文标题】Extjs 3.2 网格过滤器不工作【英文标题】:Extjs 3.2 Grid Filter Not working 【发布时间】:2014-03-18 09:20:50 【问题描述】:

我是 extjs 新手,我在网格过滤器上使用 extjs3.2。过滤器在每个标题下正确显示,但它不是过滤器

var store = new Ext.data.Store(
                    id : 'user',
                    autoDestroy: true,
                    url: 'site/view.action',
                    proxy : proxy,
                    reader : reader,
                    writer : writer, // <-- plug a DataWriter into the store
                                        // just as you would a Reader
                    autoSave : false,


                // <-- false would delay executing create, update, destroy
                // requests until specifically told to do so with some [save]
                // buton.
                );

这是我的 GridFilter 代码

 var filters = new Ext.ux.grid.GridFilters(
                     encode: true, // json encode the filter query
                     local: false,
                    filters:[
                 type: 'string',  dataIndex: 'sapid',
                 type: 'numeric', dataIndex: 'orgid',
                 type: 'string',  dataIndex: 'companyCode'

                             ]);

这是我的 GridPanel 代码

 var grid = new Ext.grid.GridPanel(
                        store : store,
                        disableSelection: true,
                        id : "documentsGrid",
                        columns : [
                                    header : "SAP ID",
                                    width : 120,
                                    sortable : true,
                                    dataIndex : 'sapid',
                                    filter: 
                                        //type: 'numeric'  // specify type here or in store fields config
                                    ,
                                    filterable: true,
                                    renderer: function (value, metaData, record, rowIndex, colIndex, store) 
                                         return  getToolTip(value, metaData, record, rowIndex, colIndex, store);
                                    ,
                                    editor : 
                                        xtype : 'textfield',
                                        allowBlank : true
                                    
                                    ,
     plugins: [editor,filters],

有什么问题我无法理解

请帮忙

谢谢

【问题讨论】:

【参考方案1】:

由于您指定过滤器不是本地过滤器,这意味着您必须具有服务器端过滤器。如果您只想在客户端进行过滤,请指定 local : true。

还要确保过滤器中使用的 dataIndex 确实引用了您商店中的字段,并且没有遗漏任何内容。

【讨论】:

以上是关于Extjs 3.2 网格过滤器不工作的主要内容,如果未能解决你的问题,请参考以下文章

ExtJS 网格过滤器:如何从外部 json 加载“列表”过滤器选项?

选项卡内的 EXTJS 网格 - 过滤器仅适用于页面刷新

ExtJS:过滤网格面板,但不是商店?

ExtJS:: 如何过滤网格中的行,但不在存储中

EXTJS 4 - 网格过滤器或商店过滤器清除商店现有的过滤器

如何在 Ext JS Grid 3.2 的列标题中添加过滤器选择器