ExtJs - expandPath von TreePanel nicht funktioniert
Meine Treepanel hat die id 'treePanel' und funktioniert Prima.
Beispiel-Pfad:
/subfolder3/abc
Ausbau mit expandAll()
arbeitet mit Baum-panel aber expandPath()
funktioniert nicht.
Nun, nachdem ein Ereignis möchte ich erweitern um einen Pfad in meinem Baum. Allerdings kann ich es nicht machen.
Bisher habe ich versucht:
var oTreePanel = Ext.getCmp('treePanel');
oTreePanel.expandPath('/subfolder3/abc'); //or '/subfolder3' or '/root/subfolder3'
Es gibt keine Fehlermeldung aber auch keine änderung in der Struktur.
Was ist zu tun?
BEARBEITEN
oTreePanel.selModel.getSelection()[0].getPath()
ist /root/
.
Was ich versucht habe:
-
Pfad:
/root
=>success
isttrue
undnode
sagtnode.data.id=""
undnode.data.path=""
-
Pfad:
/root/
=>success
isttrue
undnode
sagtnode.data.id=""
undnode.data.path="/report_with_variables"
(der erste Knoten im Baum) undnode.data.parentId= "root"
-
Pfad:
/root/subfolder3
auf den Weg:success
istfalse
undnode
sagtnode.data.id=""
undnode.data.path=""
undnode.getPath()
ist/root
Mein Json-Antwort für den Baum sieht wie folgt aus:
{"status":{"status":0,"msg":"Ok","protocolversion":"extjs.json"},"value":{"name":"","path":"\/","type":"folder","leaf":false,"children":[{"name":"report_with_variables","path":"\/report_with_variables","type":"report","leaf":true,"title":"Report ohne Variablen","description":null},{"name":"subfolder1","path":"\/subfolder1","type":"folder","leaf":false},{"name":"subfolder2","path":"\/subfolder2","type":"folder","leaf":false},{"name":"subfolder3","path":"\/subfolder3","type":"folder","leaf":false},{"name":"testreports","path":"\/testreports","type":"folder","leaf":false}]}}
Du musst angemeldet sein, um einen Kommentar abzugeben.
expandPath
funktioniert, versuchen Sie, überprüfen Sie den Pfad, den Sie versuchen zu erweitern.der Pfad baut standardmäßig auf Knoten-Modell
idProperty
Feld, es istid
Eigenschaft in der Modell-Daten, vielleicht ist es nicht das gleiche, wie Sie versuchen, die im Beispiel verwendet werden.versuchen zu laufen, expandPath im folgenden format:
tree.expandPath(path, null, null, function(success, node) {
//analyse method execution
});
So können Sie analysieren, was Los ist in der callback-Funktion:
ob der Erfolg ist falsch und der Knoten ist null, dann wird der Pfad leer ist
ob der Erfolg ist falsch und der Knoten = root-Knoten als Pfad ungültig ist, das den Anfang
ob der Erfolg ist falsch und der Knoten ist nicht die Wurzel, als der path ist teilweise ungültig
versuchen, den Weg der einige Knoten in der Struktur mit
getPath()
Methode und nach der Nutzung erhalten Weg mitexpandPath
:var n = node.getPath();
tree.expandPath(path);
sollte es funktionieren
idProperty: 'path'
im Modell-Baum speichern. Es ist, weil durch das Standard-Modell verwendet wirdid
Namen, wennidProperty
Konfiguration option nicht angegebenIch hatte das gleiche problem, und in meinem Fall wird die callback-von expandPath nie genannt wurde.
Der Grund war, dass der Baum, der laden war immer noch das laden eines vorherigen Anfrage beim Aufruf der expandPath Methode. Stellen Sie sicher, dass Ihr Baum.Geschäft ist nicht laden, bevor Sie expandPath.
Vielleicht hilft Sie und/oder andere.