2012-07-28 80 views
0

我想根據表單的狀態拒絕在數據網格中選擇一行。如果表單中包含更改數據的字段,我希望行選擇被拒絕。GWT Datagrid選擇

是否有一個事件我可以陷阱(選擇之前)和取消或我必須自己實現邏輯?

回答

0

你可以在你的SelectionModel上使用SelectionChangeHandler(它給你一個被選中的對象,你可以取消選中它),或者你可以在你的DataGrid上使用CellPreviewHandler(它給你一個被點擊的行 - 事件.getContext()。getIndex() - 你可以在你的SelectionModel中取消選中它)。

選擇取決於事件發生後你想做什麼:你必須在你的UI中做一些明顯的事情,這樣用戶不會感到困惑,爲什麼點擊一行選擇它,而點擊另一行卻不會。例如,您可以在渲染DataGrid後立即更改不可選行的背景顏色,然後在選擇了錯誤的行時顯示錯誤消息。

+0

謝謝我實現了CellPreview來捕獲mousedown事件,並在我的表單很髒時拒絕它。 – 2012-07-30 17:59:05