Используется БД Oracle.
Есть основной ListView Grid и TabSheet c двумя табами, в каждом из которых своя таблица.
Когда у TabSheet и табов Visible=true, все отлично: данные отображаются во вкладках и меняются при изменении текущей записи в основном гриде.
При выборе пункта меню становится активным соответствующий Tab.
Вызов из меню первого таба:
private void showTabContacts() {
if (!tabSheet.isVisible())
tabSheet.setVisible(true);
if (!tabContacts.isVisible()) {
tabSheet.setSelectedTab(tabContacts);
tabContacts.setVisible(true);
Clients clients = clientsesDataGrid.getSingleSelectedItem();
if (clients != null) {
contactsDl.load();
}
}
tabSheet.setSelectedTab(tabContacts);
}
Аналогично вызывается второй, меняется только название таба.
Нужно, чтобы сначала TabSheet и табы не были видны и становились видимыми при выборе соответствующего пункта меню.
Если установить в UI для них Visible = false и после запуска выбрать пункт меню для загрузки таба, почему-то происходит загрузка обеих таблиц на одну вкладку.
На скриншоте экран после вызова из меню первым второго таба:
При вызове первого таба он отображается левее второго с загруженными данными в соответствующей ему таблице на вкладке, т.е. заполняется пустая таблица на скриншоте и на обоих табах отображается одна и та же информация.
P.S. TabSheet с lazy tabs не подходит.