好的,我有一个GWT DataGrid
DataGrid<T> grid
现在我想禁用它,以便用户无法以任何方式滚动它或乱用它。有没有办法做到这一点?
它没有实现setEnabled()所以我必须提供自己的实现。
答案 0 :(得分:0)
当禁用UI元素时,它看起来不同 - 这是UI设计的一个很好的原则。当您说“禁用”DataGrid时,您不清楚如何与用户通信它被禁用。例如,滚动条将保持可见,标题看起来可点击等等。
想到的唯一解决方案是使用半透明弹出面板(又名“玻璃”)覆盖DataGrid。它将消耗所有用户操作,因此它将阻止与DataGrid的任何交互。
答案 1 :(得分:0)
如果您只是想阻止用户在您的网格上做奇怪的事情,也许您可以捕获事件并调用方法preventDefault
例如
dataGrid.addDomHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
event.preventDefault();
}
}, ClickEvent.getType());
答案 2 :(得分:0)
可以使用CSS作为
完成COUNT(*)
再次启用时
getElement().getStyle().setProperty("opacity", "0.6");
getElement().getStyle().setProperty("pointerEvents", "none");