grid live search extjs

#javascript #search #extjs #highlight

#javascript #Поиск #extjs #выделить

Вопрос:

Моя сетка поиска в реальном works fine времени, но когда я нажимаю на следующую страницу или делаю что-то другое с сеткой, сетка поиска теряет поиск терминов выделения, кто-нибудь помогает мне, что мне делать? Я хочу сохранить поиск по выделенным терминам на всей странице. Спасибо

ниже приведен фрагмент моего кода:

 var pagingStore = Ext.create('Ext.data.Store', {
    proxy: {
        type: 'memory',
        enablePaging: true
    },
    remoteFilter: true,
    pageSize: 5
}),
        remoteStore = Ext.create('Ext.data.Store', {
            autoLoad: true,
            proxy: {
                type: 'ajax',
                url: 'js/json/pagingStore.json',
                reader: {
                    rootProperty: 'items'
                }
            },
            fields: ['name', 'email', 'phone', 'type']
        });
remoteStore.load(function () {
    pagingStore.getProxy().setData(remoteStore.getRange());
    pagingStore.load();
});
var bbar = new Ext.PagingToolbar({
    store: pagingStore, //the store you use in your grid
    displayInfo: true,
    items: [ {
            xtype: 'textfield',
            name: 'searchField',
            id: 'txtfield',
            fieldLabel:'Search:',
            labelAlign:'right',
            emptyText:'search...',
            width: 300,
            listeners: {
                change: {
                    fn: onTextFieldChange
                }
            }
        }
    ]
});
bbar.down('#refresh').hide();
Ext.create('Ext.grid.Panel', {
    height: 400,
    title: 'Simpsons',
    id: 'gridPanel',
    store: pagingStore,
    columns: [{
            text: 'Name',
            dataIndex: 'name',
            filterable: true
        }, {
            text: 'Email',
            dataIndex: 'email'
        }, {
            text: 'Phone',
            dataIndex: 'phone'
        },
        {
            text: 'Type',
            dataIndex: 'type'
        }],
    bbar: bbar,
    renderTo: Ext.getBody()
});
 

Комментарии:

1. показать сетку и связанный с ней код

2. Я отредактировал свой пост выше

3. Вы можете добавить js/json/pagingStore.json файл и функцию onTextFieldChange ?

4. @Alexandre ты такой любопытный 😉 вы можете найти здесь пример examples.sencha.com/extjs/5.0.0/examples/grid /…

Ответ №1:

Итак, я отвечаю на свой собственный вопрос, я создал метод highlight() и поместил его в контейнер: после ввода поля поиска при каждом нажатии выделение остается в условиях поиска : 😉

 cont.getEl().on({
        click: {
            fn: highlight
        }
    });