Локальные сеточные фильтры - PullRequest
2 голосов
/ 22 апреля 2020

в Ext JS 4 я мог бы создать фильтр для фильтрации моей сетки. Когда локально установлено значение false , я могу отфильтровать свой магазин.

var filtersCfg = {
    ftype: 'filters',
    autoReload: false, //don't reload automatically
    local: false, //remote filter
    // filters may be configured through the plugin,
    // or in the column definition within the headers configuration
    filters: [{
        type: 'numeric',
        dataIndex: 'id'
    }, {
        type: 'string',
        dataIndex: 'name'
    }, {
        type: 'numeric',
        dataIndex: 'price'
    }, {
        type: 'date',
        dataIndex: 'dateAdded'
    }, {
        type: 'list',
        dataIndex: 'size',
        options: ['extra small', 'small', 'medium', 'large', 'extra large'],
        phpMode: true
    }, {
        type: 'boolean',
        dataIndex: 'visible'
    }]
};

В EXT JS 7 я могу добавить только плагин:

plugins: {
         gridfilters: true
    },

Как я могу добавить удаленный фильтр в EXT JS 7. Это все еще возможно? Я ничего не могу найти в документации.

С уважением

Редактировать:

Я использую data.Store, чтобы получить json из моей php / базы данных. Сортировка по сетке не проблема. Но как я могу использовать фильтр для отправки параметров на мой php?

var Store = new Ext.data.Store({
            extend: 'Ext.data.Store',
            autoLoad: true,
            remoteSort: true,
            fields: [
                'columnA','columnB'
            ],
            pageSize : 50,
            proxy: {
                type: 'ajax',
                actionMethods: {
                    create : 'POST',
                    read   : 'POST',
                    update : 'POST',
                    destroy: 'POST'
                },
                url: 'data/URL.php',
                reader: {
                    rootProperty: 'columns',
                    totalProperty: 'totalCount'
                },
                simpleSortMode: true,
                extraParams: {
                    task: 'doFiltering'
                }
            },
        sorters: [{
            property: 'columnA',
            direction: 'DESC'
        }]
    });

Ответы [ 2 ]

1 голос
/ 22 апреля 2020

Я нашел решение.

Мне нужно добавить remoteFilter: true в мой магазин . Все время я искал не в том месте.

Это было решение: Как применить функцию фильтра к сетке подкачки с локальным (памятью) хранилищем в ExtJS6?

Спасибо за вашу помощь.

0 голосов
/ 22 апреля 2020

В Ext JS 7 необходимо указать filter config в column.

...
    {
        text: 'Email',
        dataIndex: 'email',
        flex: 1,
        filter: {
            type: 'string',
            value: 'lisa'
        }
    },
...

Fiddle

...