ExtJS:网格过滤器复选框 - 取消选中它不会删除过滤器

时间:2015-09-23 12:23:30

标签: javascript extjs extjs4 extjs4.2

我使用了功能 - 网格面板的过滤器,使用本地设置为真如此

            ftype: 'filters',
            local: true     

应用过滤器并尝试在文本字段中自动启用“过滤器”复选框,并过滤网格。

取消选中过滤器旁边的复选框不会删除过滤器,复选框会消失但网格仍显示已过滤的记录。

如果删除文本字段中的所有内容,则会显示所有记录。

我错过了什么吗?有谁看过这个问题?

提前致谢。

**编辑**

以下是列,商店和模型的示例。我只包含了公司字段,模型和商店项目的示例...商店在填充网格时工作,过滤器第一次工作但我无法删除过滤器。

 var columns = [{
            header: 'Company',
            minWidth: 200,
            dataIndex: 'company',
            stateId: 'company-stateid',
            draggable: false,
            flex: 10,
            sortable: true,
            doSort: oMe.performSort,
            filter:
            {
                type: 'string'
            }

Ext.define('APEX.model.CompanyModel', {
    extend: 'Ext.data.Model',
    fields: [
        {name:'company', sortType:Ext.data.SortTypes.asUCString},

Ext.define('APEX.store.Company', {
    extend: 'Ext.data.Store',
    model: 'APEX.model.CompanyModel',

Ext.apply(me, {
            store: mainStore,
            columns: columns,
            selModel: {
                selType: 'rowmodel'
            },

1 个答案:

答案 0 :(得分:0)

我之前遇到过像你这样的问题,我用这个配置解决了这个问题:

//This is my model, you can use type if your field not a string...
Ext.define('EKOJS.model.m_mst_pemohon', {
    extend: 'Ext.data.Model',
    alias       : 'widget.mst_pemohonModel',
    fields      : [{name: 'id_pemohon',type:'int'},'NIP','Nama_Pemohon','Telp','Email'],
    idProperty  : 'id_pemohon'  
});

//this is my column in the grid
this.columns = [
{
    header: 'id_pemohon',filterable:true,
    dataIndex: 'id_pemohon',hidden:true
},{
    header: 'NIP',filterable:true,
    dataIndex: 'NIP'
},{
    header: 'Nama_Pemohon',filterable:true,
    dataIndex: 'Nama_Pemohon'
},{
    header: 'Telp',filterable:true,
    dataIndex: 'Telp'
},{
    header: 'Email',filterable:true,
    dataIndex: 'Email'
}];

// This is for grid filtering feature
this.features = [{
        ftype: 'filters',
        autoReload: true,
        encode: false,
        local: true
    }
];

如果您遇到问题,可以将配置更改为此,也不要忘记调整模型:

var feature = [{
        ftype: 'filters',
        autoReload: true,
        encode: false,
        local: true
    }
];

var columns = [{
    header: 'Company',
    minWidth: 200,
    dataIndex: 'company',
    stateId: 'company-stateid',
    draggable: false,
    flex: 10,
    sortable: true,
    doSort: oMe.performSort,
    filterable:true

Ext.define('APEX.model.CompanyModel', {
    extend: 'Ext.data.Model',
    fields: [
        {name:'company', sortType:Ext.data.SortTypes.asUCString},

Ext.define('APEX.store.Company', {
    extend: 'Ext.data.Store',
    model: 'APEX.model.CompanyModel',

Ext.apply(me, {
            store: mainStore,
            columns: columns,
            feature: feature,
            selModel: {
                selType: 'rowmodel'
            },

希望这也有助于你..:D