禁用GWT网格

时间:2015-12-03 13:51:10

标签: java gwt

好的,我有一个GWT DataGrid

DataGrid<T> grid

现在我想禁用它,以便用户无法以任何方式滚动它或乱用它。有没有办法做到这一点?

它没有实现setEnabled()所以我必须提供自己的实现。

3 个答案:

答案 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");