Добрый вечер всем.
Знакомлюсь с Jmix первый день и возник вопрос - возможно ли как-то скрыть ненужные колонки в GroupTable, если она была вызвана для lookup сущности (entityPicker → entityLookup), а не для browse? Или необходимо создать отдельный Screen с необходимыми настройками GroupTable и повесить на него (@PrimaryLookupScreen(DesiredLookupEntity.class))?
Спасибо заранее!
Update 1:
Вроде получилось определить, вызываем мы Screen для lookup или browse, но скрыть колонки так и не получилось пока…:
@UiController("Client.browse")
@UiDescriptor("client-browse.xml")
@LookupComponent("clientsTable")
public class ClientBrowse extends StandardLookup<Client> {
private static final String VISIBLE_COLUMN_STRING_ID = "username";
@Autowired
private GroupTable<Client> clientsTable;
@Subscribe
public void onBeforeShow(BeforeShowEvent event) {
if (selectHandler != null) { // ---> если не null - значит вызываем для lookup
List<Table.Column<Client>> columns = clientsTable.getColumns();
for (Table.Column<Client> column : columns) {
if (!column.getStringId().equals(VISIBLE_COLUMN_STRING_ID)) {
column.setCollapsed(true); // ---> не работает...
}
}
}
}
}