누군가가 런타임에 셀 브라우저를 올바르게 업데이트 할 수있었습니다. 즉, 노드를 제거하거나 노드를 추가하면 목록이 사용 중이기 때문에 변경 사항이 CEll 브라우저에 즉시 반영됩니다 내가 바꿀 때 그 자리에서 업데이트되지 않습니다.GWT CEll 브라우저 실시간 업데이트
1
A
답변
1
동적 업데이트를 위해 ListDataProvider setList (...) 메서드를 사용할 수 있습니다.
private void loadAllData(final ListDataProvider<Data> dataProvider) {
dBservice.getAllData(new AsyncCallback<List<Data>>() {
public void onSuccess(List<Data> result) {
dataProvider.setList(result);
}
public void onFailure(Throwable caught) {
caught.printStackTrace();
}
});
}
0
루트 노드에서 모든 자식을 닫으을 설치해야 cellBrowser를 새로 고침 : 여기 RPC를 통해 세포 브라우저를 업데이트하는 방법을 예입니다. 이
for (int i = 0; i < cellBrowser.getRootTreeNode().getChildCount(); i++) {
cellBrowser.getRootTreeNode().setChildOpen(i, false);
}
AsyncDataProvider 같은 어쨌든 뭔가 새로 고침 데이터
가 작동private final class Model implements TreeViewModel{
private List<ZonaProxy> zonaList = null;
private List<CategoriaProxy> categoriaList = null;
public void setCategoriaList(List<CategoriaProxy> categoriaList) {
this.categoriaList = categoriaList;
}
public void setListZona(List<ZonaProxy> zonaList) {
this.zonaList = zonaList;
}
@SuppressWarnings({ "unchecked", "rawtypes" })
public <T> NodeInfo<?> getNodeInfo(T value) {
CategoryDataProvider dataProvider1 = new CategoryDataProvider();
return new DefaultNodeInfo(dataProvider1, new CategoriaCell());
}
/**
* Check if the specified value represents a leaf node. Leaf nodes cannot be
* opened.
*/
public boolean isLeaf(Object value) {
if (value instanceof CategoriaProxy){
if (((CategoriaProxy) value).getLivello() == 3) {
return true;
}
}
return false;
}
}
private class CategoryDataProvider extends AsyncDataProvider<CategoriaProxy>
{
@Override
protected void onRangeChanged(HasData<CategoriaProxy> display)
{
requests.categoriaRequest().findAllCategorias(0, 8).with().fire(new Receiver<List<CategoriaProxy>>() {
@Override
public void onSuccess(List<CategoriaProxy> values) {
updateRowCount(values.size(), true);
updateRowData(0, values);
}
});
}
}
를 호출합니다.
0
데이터 공급자를 변경하고 새로 고치는 것만으로는 충분하지 않습니다.
당신은 셀 ID가 따라서 패스는 getNode의 다음 구현()입니다 내 특정 예에서 예에서와 같이,
public void updateCellBrowser(String id) {
TreeNode node = getNode(cellBrowser.getRootTreeNode(),id);
if(node != null && ! node.isDestroyed()) {
TreeNode parent = node.getParent();
int index = node.getIndex();
parent.setChildOpen(index, false,true);
parent.setChildOpen(index, true, true);
}
}
그것을 닫고 다시 열 영향을받는 셀을 강제하는 것이 필요합니다.
private TreeNode getNode(TreeNode node, String id) {
for(int i=0; i < node.getChildCount(); i++)
if(node.isChildOpen(i)) {
Object value = node.getChildValue(i);
if(value instanceof String) {
String nodeId = ((String) value);
if(id.equals(nodeId))
return node.setChildOpen(i, true);
if(id.startsWith(nodeId))
getNode(node.setChildOpen(i, true),id);
}
}
return null;
}
관련 문제
- 1. GWT 셀 브라우저 실시간 업데이트 문제
- 2. 실시간 브라우저 기반 게임
- 3. 실시간 브라우저 게임 서버
- 4. 그룹 월의 실시간 업데이트
- 5. Jquery uploadifiy 실시간 업데이트
- 6. 실시간 업데이트 페이지 피드
- 7. 실시간 Gridview 업데이트
- 8. CurlUrlInvalidException : Facebook 실시간 업데이트
- 9. AJAX를 사용한 실시간 업데이트
- 10. "실시간"Qt TextView 업데이트
- 11. XNA에서 실시간 리소스 업데이트
- 12. SDK 실시간 업데이트
- 13. GWT 브라우저 용 순열
- 14. Android : 실시간 친구 목록 업데이트
- 15. 실시간 업데이트 중 MySQL 예외
- 16. rails 3.1 실시간 업데이트 기능
- 17. 실시간 앱의 코어 데이터 업데이트
- 18. 지정된 시간에 실시간 데이터베이스 업데이트
- 19. gwt CellList의 이미지 업데이트
- 20. 브라우저 종료 이벤트 GWT/GXT?
- 21. GWT - 브라우저 기반 조건부 컴파일
- 22. GWT 및 PS3 브라우저 (Netfront)
- 23. Jquery 모든 브라우저 업데이트
- 24. 실시간 폴링없이 실시간 스트리밍 스트리밍
- 25. Solr Cell NoSuchMethodError
- 26. AS3의 실시간 업데이트 및 푸시 데이터
- 27. Buddypress 읽지 않은 메시지 개수 - 실시간 업데이트?
- 28. 앱 사용자 만 실시간 업데이트 하시겠습니까?
- 29. 실시간 응용 프로그램에서 동기화 대 비동기 업데이트
- 30. 스레드에서 실시간 Gui 업데이트 속도 향상