В моей NatTable я использую ComboBoxFilterRowHeaderComposite, похожий на ExcelLikeFilterRowCustomTypesExample .Это работает довольно хорошо, однако фильтрация поля со списком добавляет слишком много элементов в большие таблицы, чтобы упростить фильтрацию.Однако я пытаюсь это исправить, заполняя комбо только определенными предметами;в моей таблице некоторые столбцы только для типов или операций, которые имеют ограниченное количество различных значений, и я хотел бы добавить все параметры для них.В то время как для других столбцов я бы хотел добавить только корневые элементы.
Для достижения этого, я думаю, мне нужно изменить comboBoxDataProvider, однако;для полного эффекта, который я хочу, потребуется другой поставщик данных для некоторых столбцов.
Это правильный подход?И если да, то как мне это сделать?
Вот как я сейчас настраиваю свой комбинированный список:
ComboBoxFilterRowHeaderComposite<GroupedPerfRecord> filterRowHeaderLayer =
new ComboBoxFilterRowHeaderComposite<GroupedPerfRecord>(
bodyLayerStack.getFilterList(),
bodyLayerStack.getBodyDataLayer(),
bodyLayerStack.getSortedList(),
columnPropertyAccessor, columnHeaderLayer,
columnHeaderDataProvider, configRegistry, false);
final IComboBoxDataProvider comboBoxDataProvider = filterRowHeaderLayer.getComboBoxDataProvider();
filterRowHeaderLayer.addConfiguration(new ComboBoxFilterRowConfiguration() {
{
this.cellEditor = new FilterRowComboBoxCellEditor(comboBoxDataProvider, 5);
this.filterIconPainter = new ComboBoxFilterIconPainter(comboBoxDataProvider, GUIHelper.getImage("filter"), null);
}
});