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 динамически обновлять стиль).

Другие вопросы по тегам