私はフォームを持っており、フィールドの値をグリッドに記入する必要があります。フォームから得られた値でグリッドを塗りつぶす?? EXTJS
この時点で、コンボボックスの値は、JSON Storeによって呼び出されてフォームに入力されるPHPファイルのSQLクエリによって取得されます。
私はグリッドデータを塗りつぶすのと同じ方法ですが、グリッドのみの他のストアを使用しています。
実際に私はJSONメソッドでグリッドを塗りつぶします。
これは、グリッドに入力されたいくつかの値を呼び出すJSONストアです。
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',
});
と私はグリッドをロードするために、このコールを使用してコンボボックスのリスナーで(私はコンボの値を選択すると、グリッドが満たされる必要があるため)
store_grid_CC.load({
params:{ subcenter_id: subcenter_id,
opcion:'grid'}
});
Storeはdistribucion.phpに行きますコンボボックスから取得したsubcenter_idを送信し、次にPHPファイルは、grid_nameの最初の2列に記入されたcenter_nameとsubcenter_nameをSQLクエリで返します(4です)。
しかし、最後の2列には、フォームのテキストフィールドから取得したデータを入力する必要があります。
私の問題は、私はこのグリッドのためのデータを取得する2ウェイメソッドがあることです(JSONの方法と値フォームの方法で)。
私は、コンボボックスの値を含むフォームフィールドからすべてのデータを取得するが、SQL呼び出しとJSON応答を待つことはないと考えている。そうでなければ、CombValフィールドからRawValueを取得するa subcenter_id)。
例:
form.getForm().findField('combobox').RawValue() that return a name.
とテキストボックスと:コンボボックスの値を用いて呼び出され
form.getForm().findField('textfield').getValue() that return a number.
GRID:comboRawValue comboRawValue texfieldgetValue texfieldgetValue ROW1
column1 column2 column3 column4
ROW2 "車"、 "トラック" 20 100
は、(一例に過ぎません)。
このデータをグリッドストアに格納する必要があります。(Add Row)のようなボタンを押すと、この値が新しい行のグリッドに挿入されます。
私はそれをどうやって行うことができますか?フォームから得られたデータをグリッドストアに書き込む方法は?
私はSimpleStores、JSONStoresで試してみましたが、後でグリッドで読み込むために保存するフォーム値を与える方法はわかりません。私は成功していない。
多くの感謝!
動作しますか?モデルファイル(extjs6など)で作業していないため、単純なJSONストアで作業していました。最近EXTJSを学習しています。 – Camilo
さて、ExtJS 4では、モデルも必要ですが、ExtJS6ではほとんどのストアはモデルなしで動作することができます。 – Alexander