кто-то был в состоянии правильно обновить браузер ячейки во время выполнения, то есть когда вы удалите узел или добавите узел, это изменение немедленно отразится в обозревателе CEll, потому что я использую список и когда я делаю изменения, он не обновляется на местеОбновление в реальном времени GWT CEll в реальном времени
1
A
ответ
1
Вы можете использовать метод ListLataProvider setList (...) для динамических обновлений. Вот пример того, как я обновлю мобильный браузер с помощью RPC:
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 нужно закрыть все ребенка на корневом узле. все равно что-то вроде этого
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
По-видимому, недостаточно изменить поставщика данных и обновить его.
Вы должны также заставить пораженную клетку, чтобы закрыть и открыть его, как в этом примере
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);
}
}
В моем конкретном примере ячейка идентификаторы, следовательно, имена пути следующих реализации getNode().
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. Обновление в реальном времени в реальном времени
- 2. Обновление в реальном времени
- 3. Изменения в реальном времени в реальном времени
- 4. Обновление карты в реальном времени
- 5. Обновление маркера в реальном времени
- 6. Обновление данных в реальном времени
- 7. Обновление TinyMCE в реальном времени
- 8. Постоянное обновление в реальном времени
- 9. Обновление Matplotlib в реальном времени
- 10. Обновление GUI в реальном времени
- 11. Обновление postDate в реальном времени
- 12. Обновление treeview в реальном времени
- 13. Обновление Android в реальном времени?
- 14. Получайте обновления в реальном времени в реальном времени в Kafka
- 15. В реальном времени Понимание
- 16. Приложение для отслеживания времени в реальном времени
- 17. Обновление UILabel в реальном времени в Swift
- 18. Обновление текста в реальном времени в python
- 19. Нужно обновление в реальном времени в JTextArea
- 20. Обработка звука в реальном времени в реальном времени
- 21. Игра в реальном времени Django в реальном времени
- 22. Соберите данные в реальном времени в реальном времени facebook
- 23. Обновления в реальном времени в реальном времени с сервера
- 24. Обмен сообщениями в реальном времени в реальном времени
- 25. Фильтрация видео в реальном времени в реальном времени
- 26. не в реальном времени/не в реальном времени сортировка JTable
- 27. Компиляция в реальном времени?
- 28. Подписки в реальном времени
- 29. местоположение в реальном времени
- 30. Статистика в реальном времени?