Как выделить искомую строку - PullRequest
1 голос
/ 18 марта 2011

Я реализовал gridpanel, используя Extjs, который показывает содержимое базы данных. В текстовом поле мы можем написать ключевое слово, которое отправляется и используется для извлечения информации из базы данных.

Мой вопрос: Как сделать, чтобы выделить ключевое слово в результате в gridpanel? Я не хочу выделять всю строку, только ключевое слово.

/ Привет.

Ответы [ 2 ]

2 голосов
/ 18 марта 2011

Как вы реализовали функцию поиска?Вы выполняете это на сервере или вы просто фильтруете свой магазин в javascript?

Если вы делаете это удаленно, вам будет намного проще просто выделить строки в коде вашего сервера (обернуть <span class="highlight">вокруг строки поиска, например).

Если вы делаете это в ExtJS, вам придется заново визуализировать все столбцы сетки, которые могут содержать слова, которые вы искали.Это будет намного сложнее.

0 голосов
/ 20 марта 2011

Если вы хотите выделить всю строку, которая соответствует, вы можете попробовать переопределить метод getRowClass GridView:

viewConfig: {
        forceFit: true,

//      Return CSS class to apply to rows depending upon data values
        getRowClass: function(record, index) {
            var c = record.get('change'); //or loop through all record fields
            if (c.match(...get search string in here...)) {
                return 'highlight';
            } 
        }
    }

Если вы хотите выделить саму ячейку, вам нужно будет перебрать все записи и их поля при загрузке магазина, получить ячейку сетки с помощью getCell и применить к этому кассету

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...