Ich habe ein Formular, und ich muss ein Raster mit den Feldern Werte füllen.Füllen Sie ein Gitter mit Werten aus dem Formular ?? EXTJS
In diesem Moment werden die Combobox-Werte durch eine SQL-Abfrage in einer PHP-Datei erhalten, die von JSON Store aufgerufen werden, um das Formular auszufüllen.
Die gleiche Weise, die ich benutze, um die Rasterdaten aber mit anderen Speichern nur für Raster zu füllen.
Eigentlich fülle ich das Raster durch JSON-Methode.
Das ist mein JSON Store, der einige Werte aufruft, die im Grid enthalten sind.
var store_grid_CC = new Ext.data.JsonStore({
//successProperty: 'success',
url: 'json/distribucion.php?opcion=grid',
autoLoad: true,
fields : ['center_name', 'subcenter_id','subcenter_name', 'porc_distribucion'],
root : 'grid',
});
und in den Combobox Zuhörern i diesen Aufruf benutzen, lädt das Raster (sollte, weil das Gitter gefüllt werden, wenn ich einen Wert in der Combo wählen)
store_grid_CC.load({
params:{ subcenter_id: subcenter_id,
opcion:'grid'}
});
Das Shop distribucion.php gehen und senden Sie die subcenter_id aus einer Combobox erhalten, und dann die PHP-Datei durch SQL-Abfrage die center_name und subcentername, die in den ersten beiden Spalten des Rasters gefüllt sind (sind 4).
Aber die letzten 2 Spalten sollten mit einigen Daten aus den Textfeldern im Formular gefüllt werden.
Dann ist mein Problem, dass ich 2-Wege-Methode haben, um Daten für dieses Raster zu erhalten, (durch JSON Weg und Wert Form Weg).
Eine Lösung, die ich denke, ist es, alle Daten aus den Formularfeldern erhalten, einschließlich der Combobox-Werte, aber nicht beschränkt auf SQL Aufruf und eine JSON-Antwort zu warten, sonst bekommen die RawValue von de Combo Feld (Endwert, ohne Verwendung a subcenter_id).
Beispiel: Der Combobox Wert wird mit dem genannten:
form.getForm().findField('combobox').RawValue() that return a name.
und das Textfeld mit:
form.getForm().findField('textfield').getValue() that return a number.
GRID:
column1 column2 column3 column4
row1 comboRawValue comboRawValue texfieldgetValue texfieldgetValue
row2 "Auto" "LKW" 20 100
(nur Beispiel).
Ich muss diese Daten in den Grid Store und wenn ich eine Taste wie (Zeile hinzufügen) drücken, sollten diese Werte in das Raster in einer neuen Zeile eingefügt werden.
Wie kann ich das tun? Wie kann ich den Grid Store mit Daten aus dem Formular füllen ?.
Ich versuche mit SimpleStores, JSONStores, aber ich weiß nicht, wie die Formularwerte zu speichern, um von Raster danach readded werden. Ich war nicht erfolgreich.
Vielen Dank!
Dank Alexander, arbeitet Das ist mit EXTJS 4? Ich habe diese Frage gestellt, weil ich nicht mit Model-Dateien (wie extjs6) arbeite, sondern nur mit Simple und JSON Stores arbeite und kürzlich EXTJS lerne. – Camilo
Nun, in ExtJS 4 werden sogar Modelle benötigt, während in ExtJS6 die meisten Geschäfte ohne Modell arbeiten können. – Alexander