Laden Extjs-grid aus einer XML-Zeichenfolge anstelle der Datei
Habe ich in der Lage zu bekommen, ExtJS grids zu erstellen, die von externen XML-Dateien. Ich in der Regel definieren, speichert Sie wie folgt vor:
var store = new Ext.data.Store({
model: 'PersonModel',
proxy: {
type: 'ajax',
url : 'MyXML.xml',
reader: {
type : 'xml',
record: 'Person'
}
}
});
Ich habe ein XML-fragment gespeichert in eines der Felder, so lasst uns einfach sagen, ich habe es in einer lokalen variable. Wie kann ich implementieren, die den laden zum Lesen aus einer variable/string und nicht aus einer Datei? Danke.
- durch die variable/den string, den Sie bedeuten-Datenbank oder lokalen Speicher (array) ?
- lokale JS-variable
- Gefunden ein paar hilfreiche postings online. Das Problem ist, dass Sie alle scheinen, zu arbeiten, in v2/3 und der code funktioniert nicht in v4... sencha.com/forum/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich es geschafft habe. Der trick war, definieren Sie eine Erinnerung geben Sie proxy und fahren Sie an einem geparsten xml-Objekt zu.
Ich habe es zu arbeiten, wenn ich ließ die Daten: doc Deklaration innerhalb der proxy.
proxy:
{
Daten: doc
type: 'memory'
etc etc
EW
//dies ist das Modell, das wir verwenden werden in der Filiale
//diese Daten nicht von line-up für unser Modell die Felder - das Feld "Telefon" wird aufgerufen, Telefonnummer
//beachten Sie, wie setzen wir das "root" in das Lesegerät entsprechend der Datenstruktur, die oben
Refrence:
http://docs.sencha.com/ext-js/4-0/#/api/Ext.data.proxy.Memory
Ich denke, dass so etwas funktionieren könnte (zugegeben, ich habe es nicht ausprobiert):
Können Sie auch hinzufügen möchten
autoLoad: true
in den store-Optionen, so dass Sie nicht haben, um Anrufstore.load();
Bearbeiten:
Möglicherweise möchten Sie auch zu prüfen, die Daten zu verändern ein wenig, so dass es kann verwendet werden, indem die array-reader: http://docs.sencha.com/ext-js/4-0/#/api/Ext.data.reader.Array
Können Sie laden, laden mit lokalen Variablen, die mit
store.loadData(xmlVar);