Vaadin: Мне нужно установить выбранную строку после обновления содержимого таблицы. У меня есть Comboboxbutton, содержащий разных клиентов. Кроме того, у меня есть две таблицы, первая показывает основные категории, а рубрики - подкатегории. Изначально клиент не выбран, показаны основные категории, не показана подкатегория.Vaadin set selected row of table
Когда я нажимаю на категорию (скажем, продукт, например!), Пользователи таблицы подкатегорий и показывают подкатегории. Когда я меняю клиента сейчас с пустого на конкретного клиента, обе таблицы фильтруются, НО: выбор продукта утерян. Мне нужно установить выделение на тот, который был выбран ранее.
Я получаю содержимое таблицы как объект sql-container из класса antoher.
mainCatTable = new Table();
...
mainCatTable.setContainerDataSource(source.getMainCats());
//My Checkboxbutton
Combobox custBox = new ComboBox();
//Get the customers from the Database
custBox.setContainerDataSource(source.getCustomers());
custBox.setItemCaptionPropertyId("Customers");
custBox.addValueChangeListener(new ValueChangeListener() {
public void valueChange(ValueChangeEvent valueEvent) {
//Here I need to store the old selection, before i update the mainCat table to a specific customer
mainCatTable.setContainerDataSource(source.getMainCats(currentCustomer));
//Here I need something to set the selected row to the previous value
subCatTable.setContainerDataSource(source.getSubCats());
}
});
СКП-контейнер, который возвращает метод getMainCats, создается следующим образом:
FreeformQuery subcatExtractionQuery = new FreeformQuery("select customerName from customers", connectionPool);
return new SQLContainer(subcatExtractionQuery);
Проблема заключается в том, т пробовал разные способы, но это не сработало. Это была моя попытка: https://vaadin.com/forum/#!/thread/1819417/1819416 Но они используют контейнер-указатель, но я этого не делаю.
Может кто-нибудь объяснить, как это сделать БЕЗ контейнера с индексом?
Какой контроллер это «не проиндексированный контейнер»? Не могли бы вы быть более конкретными в этом отношении? – mico
извините, теперь я добавил информацию. Это то, что вы имели в виду? – Tobi123