ExtJS 4 TreePanel autoload
Ich habe eine Ext.tree.Panel
was hat ein TreeStore
. Dieser Baum ist in tab. Das problem ist, dass wenn meine Anwendung lädt alle Bäume verwendet, in die Anwendung laden Ihre Daten, auch wenn der Speicher auf autoLoad: false
.
Wie könnte ich verhindern, dass autoloading auf dem Baum?
Ext.define('...', {
extend: 'Ext.container.Container',
alias: 'widget.listcontainer',
layout: {
type: 'vbox',
align: 'stretch'
},
items: [{
xtype: 'container',
html: "...",
border: 0
}, {
xtype: '...',
flex: 1,
bodyPadding: 5,
margin: '9 0 0 0'
}]
});
Ext.define('...', {
extend: 'Ext.data.TreeStore',
model: '...',
proxy: {
type: 'ajax',
reader: {
type: 'json',
root: 'data'
},
api: {
read: 'some url'
}
}
});
Ext.define('...', {
extend: 'Ext.tree.Panel',
alias: 'widget....',
id: '...',
title: '...',
height: 400,
collapsible: true,
useArrows: true,
rootVisible: false,
multiSelect: true,
singleExpand: true,
autoScroll: true,
store: '...',
columns: [...]
});
P. S. ich habe herausgefunden, wenn ich rootVisible, um wahr auf dem Baum dieses problem nicht passiert, aber es zeigt dann zu root-Knoten(die ich auch nicht möchte).
Fügen Sie Ihren code bitte.
Und was Sie sehen wollen, in treepanel, wenn es nicht autoload und root ist nicht sichtbar? Ich denke, Sie müssen den code hinzufügen, wo Sie erstellen, speichern. Sie wollen AJAX belastbar Baum oder etwas anderes?
Naja ich werde es natürlich tun einem Baum.store.load (), wenn die Zeit kommt, aber ich will keine Last sein, für jeden Baum, den ich verwenden, wenn die Anwendung geladen wird.
Dennoch, fügen Sie code für Ihr Geschäft.
Und was Sie sehen wollen, in treepanel, wenn es nicht autoload und root ist nicht sichtbar? Ich denke, Sie müssen den code hinzufügen, wo Sie erstellen, speichern. Sie wollen AJAX belastbar Baum oder etwas anderes?
Naja ich werde es natürlich tun einem Baum.store.load (), wenn die Zeit kommt, aber ich will keine Last sein, für jeden Baum, den ich verwenden, wenn die Anwendung geladen wird.
Dennoch, fügen Sie code für Ihr Geschäft.
InformationsquelleAutor Stir Zoltán | 2011-07-27
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn
root
unsichtbar istAJAX
Baum lädt automatisch die erste Ebene der Hierarchie (wie du schon bewiesen, indem Sie sich selbst).Ich denke, der beste Weg ist, um root-sichtbar oder erstellen Sie den Baum nach einigen Aktionen. Ich schrieb code, verhindern, dass
AJAX
Anforderung zum laden von Daten:Aber ich bin mir nicht empfohlen, die Verwendung dieses Ansatzes. Zum Beispiel, wenn javascript nicht so schnell -
Ajax
Anfrage senden (Antwort nicht Lesen, aber server operation ausführen).InformationsquelleAutor Xupypr MV
Ich traf das gleiche problem, und zu vermeiden, dass eine implizite Anforderung, die ich angegeben
root
inline in der TreeStore-Konfiguration, wie:Nach einer expliziten
.load
die inline-root überschrieben.InformationsquelleAutor pablodcar
Kannst du eine dummy-proxy im Ort bei der Definition von dem Baum, dann stellen Sie das real-proxy-wenn Sie möchten, beginnen Sie, den Baum/speichern. Zum Beispiel:
Dann, wenn Sie es verwenden möchten, für die erste Zeit,
InformationsquelleAutor cchow
Kann man es lösen mit einer kleinen überschreiben:
afterlayout Sie brauchen eine load () -
InformationsquelleAutor harrydeluxe
Einfachsten ist die Einstellung Store die root-Eigenschaft
InformationsquelleAutor XenoN
Versuchen mit
children
undautoLoad : false
:InformationsquelleAutor user1093696