2010年6月17日木曜日

ExtJs-90 フォームのidはmappingで解決。GridできてFormをつくって、レイアウトに入る前に。。

Ext-89での一件はmappingで対応した。Ext側は@kotsutusmiさんの
コメントからいただいてdataindexってことにしてフォームでの
登録もオーケー。


長かったなぁ。ここまで。
Gridは抽象化して実装とパラメータを切り分けられたし、共通部分の実装はおおむね完了。
Panelはこちらも抽象化してってGridの構造のままだけど、共通部分お実装はおおむね完了。

さて、
ここまでできたら次は
GridとPanelを結合しなけりゃ意味がない。


データに対して編集可能なGridを。
そんで、
パネル=検索条件=詳細な入力IFとして位置づけるため、
Gridとつなげてパネルから入力された条件で検索→Gridへ
GridでDblClick→パネルへ
っていう結合を実装する必要があるんだな。


■PanelのReadIFのキーはrowid(DB設計はすべてidentifierを持つようにして)で統一。

■検索条件とのつながり
Panelには検索ボタンをつけな
Panel→GridのLoadコールってことになる。

■詳細な入力IFとのつながり
ダブルクリック時にPanelのloadを行情報から取得したrowidを設定してPanelのLoad
をコールすればよいということになるわけで

Panel for search→Grid
Grid→Panel for Input

ってことになる。

でも、これ、関係を持つためにはお互いを知る必要が出てくる。
けど、相手を知るのはいやなので
それをくるむCRUDコンテナみたいなメッセージハンドリング用のクラスを
つくってそこに乗っけてみることにする。。
もう一年位前の勉強会で@kotsutsumiさんが教えてくれたやつの
縮小版みたいなイメージになるのかなぁ。。


あとはまたサーバサイドの実装になるわけで。。
特定の引数と比較演算子を対としたパラメータをクライアント側で用意するようにする。
デフォルトはANDでよいな。


もらった情報をWHERE句として生成するモジュールはあるからよし。
あとはほしいフィールド句を生成するモジュールを作ってあげて
それを内部で連結して問い合わせるストアドを作成すればおk。


もうチョイ。これを抜ければレイアウト!@kotsutusmiさん直伝、@ispernさん検証の
レイアウト。これやってみたい。

だからあとは、
やるってきめたらからやるリスト
・検索用のモードの設置
・Grid、Panelを結びつけるコンテナ作成
・(Panel for search)、Gridを乗せてみる
・Grid、 (Panel for input)を乗せてみる
・Panel for searchの条件実装
・Panel for searchからの条件ポスト実装
・Panel for searchからの条件解析→WHERE句実装(サーバ)

0 件のコメント: