コメントからいただいて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 件のコメント:
コメントを投稿