2012-03-15 2 views
0

데이터가 아직 사용할 수없는 경우로드 아이콘을 표시하려면 어떻게해야합니까? 각 휴가에 대한 데이터를 가져 오려면 네트워크 요청을하는 AsyncDataProvider가 사용됩니다. 반환되지 않는 한로드 메시지가 표시되어야합니다. 이것을 할 수있는 방법이 있습니까?Asynchrouns CellTree로드 아이콘 표시 GWT

감사합니다, 스테판

답변

1

해결되었습니다. celltree에는 RowCount가 사용 가능한 DataCount와 일치하지 않을 때로드 상태를 표시하는 기능이 있습니다.. 따라서 데이터가 아직 존재하지 않으면 트리에 정확히 하나의 요소가 있음을 알려주는 RowCount(1, true);을 보냈습니다.이 요소는 아직 여기에 없습니다.

enter image description here

+0

RowCount 메서드를 찾을 수 없습니다. JavaDoc Link를 게시 할 수 있습니까? –

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)); 
} 

희망을.

+0

,하지만 난 단지 작은 부분이 업데이트되어 전체 페이지의 로딩 상태를 표시 싫어하는 것 :

이것은 로딩 기호를 표시하는 트리를 만든다. 위의 솔루션을 게시했습니다 – Stefan