Реализация фильтра на сервере ag-gridSide rowModelType - PullRequest
0 голосов
/ 24 ноября 2018

Я реализовал ag-grid со стороны сервера rowModelType.

Над сеткой у меня есть текстовое поле ввода, которое будет фильтровать сетку.Например, если пользователь набрал «abc» в сетке, я должен перейти на сервер с «searchString = abc» в URL.

Мне нужно перерисовать сетку новыми данными с сервера.До изменения rowModelType я использовал метод "setData" в API, но после изменения метод не существует в сетке API.

Спасибо

1 Ответ

0 голосов
/ 27 ноября 2018

Если вы хотите перерисовать сетку, в gridApi есть несколько различных механизмов обновления, которые вы можете попробовать, в зависимости от выбранного вами rowModel.

Вот что я обычно делаюс serverSide rowModel: gridApi.purgeServerSideCache()


Другие типы для полноты:

RowModel: Бесконечный

gridApi.refreshInfiniteCache()

gridApi.purgeInfiniteCache()

RowModel: ClientSide

gridApi.refreshClientSideRowModel()

Более подробную информацию можно найти здесь , хотя они немного разбросаны.


Однако ваш вопрос можно интерпретировать двумя способами, и я не уверен, действительно ли вы хотите перерисовать вашу сетку.

Вместо этого, при использовании serverSide rowModel у вас должен быть onGridReady()обратный вызов где-то в вашей кодовой базе, в котором вы устанавливаете обработчик корпоративных запросов: gridApi.setServerSideDatasource({getRows: myGetRowsHandler}).Ваш пользовательский обработчик myGetRowsHandler должен вызываться при каждом изменении фильтра , сортировка , группировка или пейджинг событие и получает parametersобъект передан в него.

Когда ваш запрос завершится, вам нужно вызвать parameters.successCallback(), который выглядит следующим образом в TypeScript: successCallback(rowsThisPage: any[], lastRow: number): void

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