Заполнить данные выбранной строки таблицы по умолчанию в другую таблицу

У меня есть требование, состоящее из одной таблицы вверху и вкладки, состоящей из 3 вкладок внизу. В пределах 3 вкладок содержится 3 разных таблицы, и мое требование здесь заключается в том, что при нажатии на верхнюю таблицу некоторые связанные данные должны отображаться в каждой из таблиц на вкладке.

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


person Abhilash    schedule 13.10.2011    source источник
comment
Переформатируйте свой вопрос, он не читается   -  person Ingo Kegel    schedule 13.10.2011


Ответы (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
}
person miq    schedule 07.11.2011