GWT CellTable выбор и один клик на CheckBoxCell
У меня есть CellTable, который работает с SingleSelectionModel, чтобы сделать одиночный выбор и показать некоторую информацию на панели подробностей. Также у меня есть столбец CheckBoxCell в этот CellTable, который работает с другой MultipleSelectionModel для выполнения операции массового удаления.
Когда я пытаюсь установить флажок в столбце CheckBoxCell, GWT выбирает строку, а после второго нажатия флажка он меняет состояние флажка. Таким образом, мы должны сделать два клика, но мне нужно сделать это (изменить состояние флажка) одним щелчком мыши.
Я пробовал разные способы исправить это:
- Измените параметры variableOnSelection и handlesSelection в CheckboxCell
- Изменить SelectionEventManager в CellTable (DefaultSelectionEventManager.createCheckboxManager(), DefaultSelectionEventManager.createCustomManager)
Но это не работает.
Я обнаружил похожие проблемы в Интернете, но все они работают с одной MultipleSelectionModel. Это не то, что я хочу, потому что есть панель с деталями (так что я могу сделать только один выбор).
Может кто-нибудь помочь мне разобраться, как ее решить?
UPD: я только что удалил SingleSelectionModel и переработал пользовательский интерфейс для работы с MultipleSelectionModel. Это GWT-ад
1 ответ
Попробуйте сменить выбор модели: используйте MultiSelectionModel
как CellTable
Выбор модели, чтобы флажки работали как положено dependsOnSelection
а также handlesSelection
установлен в true
), а для функции master-detail используйте CellPreviewEvent.Handler
(или же DefaultSelectionEventManager#createCustomManager
), а также RowStyles
а также getRowElement
+addStyleName
/removeStyleName
для рендеринга (RowStyles
когда CellTable
визуализирует строки, затем getRowElement
динамически обновлять стиль).