我想根据表单的状态拒绝在数据网格中选择一行。如果表单包含已更改数据的字段,我希望拒绝行选择。
是否有一个事件我可以陷阱(在选择之前)并取消或我是否必须自己实施逻辑?
答案 0 :(得分:0)
您可以在SelectionModel上使用SelectionChangeHandler(它为您提供一个已选中的对象,您可以取消选择它),或者您可以在DataGrid上使用CellPreviewHandler(它会为您提供一个被点击的行 - 事件。 getContext()。getIndex() - 你可以在SelectionModel中取消选择它。
选择取决于事件发生后您想要做什么:您必须在UI中做一些明显的事情,以便用户不会混淆为什么点击一行选择它,而点击另一行则不会。例如,您可以在渲染DataGrid时立即更改不可选行的背景颜色,然后在选择错误行时显示错误消息。