Herman<T>.Instance Ответов: 1

Gridview с фильтрацией на стороне клиента


Всем привет,

У меня есть gridview, и в заголовке у меня есть компоненты текстового поля, используемые для фильтрации данных в gridview.
Устанавливаются события AutoPostback и OnTextChanged. Поэтому, когда я ввожу текст и нажимаю TAB, событие выполняется, и мой gridview показывает отфильтрованные данные. Мой источник данных-это объект DataView.

Я хочу, чтобы при вводе текста в текстовое поле отображались только строки с filtertext (DataView.RowFilter установлен), так что мне не нужно вкладывать.

Я создал данного. Я могу получить свои данные из кэша. Я могу создать DataView с помощью RowFilter, но как обновить мой Gridview?

Что я уже пробовал:

Я попытался использовать событие onkeyup, но оно выполнило событие TextChanged с помощью вызова javascript __dopostback.
В этом случае сетка полностью перезагружается и это можно увидеть на странице несмотря на то что gridview находится в UpdatePanel

Richard Deeming

Если бы это было возможно, я бы предпочел отказаться от GridView и использовать что-то вроде DataTables:
Обработка на стороне сервера | DataTables.net[^]

1 Ответов

Рейтинг:
1

Vincent Maverick Durano

Things will get more complicated if you try to combine server-side controls with client-side functionality. GridView is a server-side data control which provides server-side capabilities that you can take advantage of. If you want manipulate the data in GridView at the client (JavaScript) then you'll have to learn JavaScript to manipulate the DOM (HTML elements). You could try looking at jQuery as it provides selectors that you can use to manipulate the DOM and it also provides AJAX APIs that enables you to communicate with your server data asynchronously. But be aware that this may take you alot of time and effort if you are not familiar with client-side scripting.

Другой вариант-использовать предварительно приготовленную клиентскую сетку, которая делает все основные вещи, необходимые для вашей сетки. Одним из хороших примеров является использование Bootstrap DataTables. Смотрите это для демонстрации: Пример DataTables - поиск отдельных столбцов (текстовые вводы)[^]