异步CellTree显示加载图标GET

时间:2012-03-15 13:37:22

标签: gwt

当数据尚未通过celltree离开时,如何显示加载图标。 为了获取每个假的数据,使用AsyncDataProvider,它发出网络请求。只要未返回,就应显示加载消息。有没有办法做到这一点?

此致 斯蒂芬

2 个答案:

答案 0 :(得分:1)

解决了它。 当RowCount与可用的DataCount不匹配时,celltree具有显示加载状态的功能。因此,如果数据尚未存在,您只需发送告诉树的RowCount(1, true);,它只有一个元素,但尚未存在。

这使树显示加载标志:

enter image description here

答案 1 :(得分:0)

以下是一个相当通用的解决方案,但我觉得非常有用。只要RPC调用正在进行,它就会显示一个“忙”鼠标指针。您可以根据自己的需求进行调整。我按如下方式定义了一个类:

class CallWrapper<T> implements AsyncCallback<T> {
AsyncCallback<T> callback;

public CallWrapper(AsyncCallback<T> cb) {
    callback = cb;
    DOM.setStyleAttribute(RootPanel.getBodyElement(), "cursor", "wait");
}

public void onFailure(Throwable caught) {       
    DOM.setStyleAttribute(RootPanel.getBodyElement(), "cursor", "default");
    callback.onFailure(caught);
}

public void onSuccess(T result) {       
    DOM.setStyleAttribute(RootPanel.getBodyElement(), "cursor", "default");
    callback.onSuccess(result);
}
}

然后你可以按如下方式包装每个AsyncCallback:

public void callService(AsyncCallback<String> callback) {
myRPC.doStuff(new CallWrapper<String>(callback));
}

希望这有帮助。