2012-02-18 7 views
4

私はextjs 4.0を使用して非常に複雑なデータ入力フォームを設計しています。私は自分のフォームにモデルをバインドしています。Extjsフォームにグリッドを追加してデータを送信するには?

私のモデルの中には、製品モデルを表す「製品」というプロパティがあります。今度は、これらの製品を自分のフォームPanel上のグリッドに表示したいと考えています。ユーザーは、グリッドから製品を削除してフォームを保存することができます。

これを達成する最も良い方法は何ですか?

+0

こんにちはSanjay ...これで解決しましたか?私は同様のケースをフォーム(上)、下に2つのグリッドを表示しています。私が保存したいときは、すべてのデータを単一のURLで送信する必要があります。 – aswininayak

答えて

0

フォームのsetValues(),getValues()の方法を上書きすることができます。ベースメソッドにグリッドバインディングを追加するだけです。注 - 独自のクラスを作成するためにフォームを拡張する必要はありません。フォームを宣言した場所でこれらの関数を上書きすることができます。

{ 
    xtype: 'form', 
    setValues: function(){} 
} 

希望しました。

1

私が正しく理解していれば、1対多のオブジェクトの関連付けがあり、編集のために1面がフォームに読み込まれ、多くは表示される必要がありますが、フォーム内のグリッドに表示する必要があります。

同様のデザインに近づく方法は、フォームの下にグリッドパネルを追加することです。私の場合は他のコンポーネントがあったので、私のグリッドはタブパネルに包まれていました。これと同様にexampleフォーム5を参照してください。

今、グリッドには何が入っていますか?さて、私はあなたの例として、私の多くのオブジェクトを表すストアを追加しました。私はその店のライタープロキシをセットアップし、roweditorプラグインをグリッドに追加しました。最終的な結果は、ユーザーが関係を管理し、親オブジェクトと子オブジェクトの両方のプロパティを1つの画面から編集する簡単な方法でした。私は多くの店のための自動同期ストアを持っていたが、あなたはしてはいけない。保存ボタンをグリッドに簡単に追加することも、親の保存ボタンにアクションをバインドすることもできます。

これはあなたの創造的なジュースが流れていることを期待しています:)

関連する問題