Заполните данные строки таблицы, выбранной по умолчанию, в другую таблицу
У меня есть требование, которое состоит из одной таблицы вверху и вкладки, которая состоит из 3 вкладок внизу. В 3 вкладках содержатся 3 разные таблицы, и мое требование здесь заключается в том, чтобы при нажатии на верхнюю таблицу некоторые связанные данные должны отображаться в каждой из таблиц на вкладке.
Эта функция работает нормально, когда я щелкаю строки таблицы сейчас, но проблема здесь в том, что когда приложение загружено, в верхней таблице должна быть выбрана первая строка по умолчанию, а соответствующие данные должны быть заполнены и отображены на вкладке столы. Как я могу реализовать это с помощью встроенных слушателей? Если пример приведен, это будет очень полезно.
1 ответ
Поскольку функциональность работает после нажатия на строку, я могу предположить, что ваш слушатель работает правильно.
Я считаю, что вы можете просто использовать метод верхней таблицы myTable.setValue(table.firstItemId())
после инициализации представления. Предполагая, что ваш слушатель вызывает (например) метод myApplication.rowSelected(Item item)
Вы можете вызвать это вручную после установки значения таблицы.
Пример:
void init() {
myTable.addListener(new ItemClickEvent.ItemClickListener() {
void itemClick(ItemClickEvent event) {
rowSelected(event.getItem());
}
});
if(!myTable.getItemIds().isEmpty()) {
Object firstId = myTable.firstItemId();
myTable.setValue(firstId);
myTable.rowSelected(myTable.getItem(firstId));
}
}
void rowSelected(Item item) {
// Do stuff
}