2012-07-28 135 views
0

我想根据表单的状态拒绝在数据网格中选择一行。如果表单中包含更改数据的字段,我希望行选择被拒绝。GWT Datagrid选择

是否有一个事件我可以陷阱(选择之前)和取消或我必须自己实现逻辑?

回答

0

你可以在你的SelectionModel上使用SelectionChangeHandler(它给你一个被选中的对象,你可以取消选中它),或者你可以在你的DataGrid上使用CellPreviewHandler(它给你一个被点击的行 - 事件.getContext()。getIndex() - 你可以在你的SelectionModel中取消选中它)。

选择取决于事件发生后你想做什么:你必须在你的UI中做一些明显的事情,这样用户不会感到困惑,为什么点击一行选择它,而点击另一行却不会。例如,您可以在渲染DataGrid后立即更改不可选行的背景颜色,然后在选择了错误的行时显示错误消息。

+0

谢谢我实现了CellPreview来捕获mousedown事件,并在我的表单很脏时拒绝它。 – 2012-07-30 17:59:05