2009年1月23日金曜日

ExtJs-27 FormPanelのロード。。



久々なのでおさらいを。
過去でひっかかったのは

■継承時のパラメータの設定時、
xtypeでitemsを指定する際はそのxtypeのクラスの
itemsも含め
パラメータで指定するのではなく、
initComponet内でthis.items=
で指定しないとaddItemsでエラーがおきてしまう。。

■Gridは、
・storeを作成
・columnmodelを作成
・readerを作成
 →コールバックを作成

store、columnmodel、readerをGridPanelに設定し
autoloadをtrue、またはreaderのloadメソッドをrender後に呼び出す。
コールバック関数内でdolayoutを呼び出す必要あり???

さて、Gridについてはおおむね落ち着き、
つぎはEditorGrid。なんで、これはおいといて、






FormPanelの基本実装の勉強を。

BasicFormより継承されたクラスは
getFormメソッドにてBasicFormを取得できる。

BasicFormは
Action.Load
Action.Submitを実装しているため
このAction.Loadを利用してフォームへデータを流し込む

■FormPanelにReaderを設定する。
 ReaderのcolumnModelにデータマッピングを設定する
 name: mapping: の連想配列

 Panelの各コントロールにnameパラメータをつける
 これがReaderで指定したcolomunModelのnameと一致してる
 必要がある。

 これでコントロールとデータの紐付け設定は完了

■FormPanelにurlぱらめーたでJSON返却するURLを設定しておく

■FormPanelをインスタンス化して、getForm.Load()で
 データロードが開始される。

Gridでもそうだが、
JSONの形式に注意。
Action.Loadの仕様に基づいて
{
success: true/false,
data:/*ここにでーた配列*/
}
な形式でJSONを返却してやること。
で、
---できた!!---
テストデータ図中のタスク名の部分。


これはあまりつまづかなかったな。
家族が寝た後のほんの1時間。。
むちゃくちゃ久しぶりに自分のリラックスじかんが取れよ。。

0 件のコメント: