konnte jemand einen Zellenbrowser zur Laufzeit korrekt aktualisieren, dh wenn Sie einen Knoten entfernen oder einen Knoten hinzufügen, wird die Änderung sofort im CEll Browser reflektiert, da ich eine Liste verwende und wenn ich eine Änderung mache, wird sie nicht an Ort und Stelle aktualisiert.GWT CEll Browser Echtzeit Update
1
A
Antwort
1
Sie können ListDataProvider setList (...) Methode für dynamische Updates verwenden. Hier ist ein Beispiel, wie ich Zelle Browser über RPC aktualisieren:
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
aufzufrischen eine cellBrowser Sie haben alle das Kind auf dem Wurzelknoten zu schließen. ohnehin so etwas wie dieses
for (int i = 0; i < cellBrowser.getRootTreeNode().getChildCount(); i++) {
cellBrowser.getRootTreeNode().setChildOpen(i, false);
}
der AsyncDataProvider ruft Auffrischungen Daten
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);
}
});
}
}
es funktioniert.
0
Offenbar reicht es nicht, den Datenprovider zu ändern und zu aktualisieren.
Sie müssen auch die betroffene Zelle zwingen, um es zu schließen und wieder öffnen, wie in diesem Beispiel
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);
}
}
In meinem speziellen Beispiel der Zelle ids sind Pfadnamen daher die folgenden Implementierung von 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;
}
Verwandte Themen
- 1. GWT Cell Browser Echtzeit Update Problem
- 2. GWT Cell Table Error
- 3. Swift: Update CollectionView Cell Image
- 4. GWT 2.1 Cell Widgets - kontinuierliches Scrollen
- 5. GWT 2.1 in UiBinder setzen Cell Widgets
- 6. Echtzeit Browser basiertes Spiel
- 7. Android: Echtzeit-Freundesliste Update
- 8. Unterstützt Restfb Echtzeit-Update
- 9. CHECKBOX Cell Event in GWT funktioniert nicht in aktualisierten Chrom?
- 10. Verwenden von GWT Cell Browser, um ein Produkt zu erstellen Taxonomie
- 11. Daten nach Echtzeit-Update erhalten
- 12. Update DatagridView Cell Hintergrundfarbe basierend auf Zeilendaten
- 13. GWT nicht unterstützte Browser-Warnung
- 14. Mobile Browser in GWT erkennen
- 15. Browser stoppen Zwischenspeichern GWT nocache.js
- 16. Browser Version erkennen mit GWT?
- 17. Update Disqus Kommentare Zähler in Echtzeit
- 18. Echtzeit UI und LiveCharts Update in MVVM
- 19. Echtzeit-Facebook- und Twitter-Update-Tutorials
- 20. Funktioniert GWT App gut in Android-Browser?
- 21. Debug GWT-Anwendung in einem Remote-Browser
- 22. GWT Popup-Fenster im neuen Browser-Fenster
- 23. GWT Force Update auf Server im Entwicklungsmodus
- 24. GWT - Update Widget wenn java.util.List ändert
- 25. Update Daten in der Datenquelle in Smart gwt
- 26. PHP - Echtzeit-Benachrichtigungssystem - unterstützt alle Browser und Geräte
- 27. Android - Update benutzerdefinierte Listenansicht jede Minute in Echtzeit
- 28. Update zwischengespeicherte Datei auf Chrom-Browser
- 29. Wie erzwingen WebExtension Update auf Browser starten?
- 30. JS Browser Update jQuery Plugin/Code Snippet