Флажок фильтра столбцов не обновлен - PullRequest
0 голосов
/ 30 апреля 2018

Рассмотрим столбец в ag-grid, который может иметь только одно из двух значений: «Да» и «Нет» в качестве строк.

ag-grid имеет встроенный фильтр столбцов, который показывает все различные значения этого столбца с флажками.

Да и Нет вариантов

Эта фильтрация прекрасно работает с пользовательским взаимодействием, но мне нужно отфильтровать строки со значениями "Нет" до первого рендеринга, без взаимодействия с пользователем .

Я могу выполнить желаемую фильтрацию с помощью

gridOptions.isExternalFilterPresent
gridOptions.doesExternalFilterPass

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

Да, только параметры фильтра

Проблема в том, что пользователь может даже не знать, что «Нет» является возможным вариантом, и не будет знать, что эта сетка в настоящее время фильтруется.

Полагаю, чтобы помочь в этом сценарии, вы можете указать все возможные значения, которые можно указать для фильтра, как filterParams ниже:

{
  headerName: 'ETF',
  field: 'isEtf',
  filterParams: {
    values: ['Yes', 'No'],
    suppressRemoveEntries: true
  }
}

Когда я добавляю values, в сетке будут отображаться оба флажка, но она не является точной, поскольку все значения «Нет» были отфильтрованы и должны иметь флажок без флажка рядом с параметром «Нет».

Установка true для suppressRemoveEntries, кажется, не имеет никакого эффекта, хотя его описание, кажется, предполагает, что это решит мою проблему.

Есть ли способ управлять состоянием флажков программно или использовать параметры сброса / распознавания сетки для текущих значений фильтра по возможным значениям, указанным в filterParams.values после применения моего внешнего фильтра?

1 Ответ

0 голосов
/ 09 октября 2018

Я никогда не находил решения с использованием внешнего фильтра, но с помощью установленного фильтра, созданного сеткой, достигался ожидаемый результат.

const filter: IFilterComp = gridOptions.api.getFilterInstance('isEtf');

// bracket notation required because current typing does not include 
// the unselectValue function as of ag-grid v17.1.1
filter['unselectValue']('No');

// you must let grid know of the change so it will be applied to data in grid
gridOptions.api.onFilterChanged();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...