2009年7月3日金曜日

ExtJs-46 EditorGridPanelで怪我の功名

先日、EditorGridPanel云々。ってセルごとにやってたけど、
通信のオーバーヘッドが気になるし、
今ひとつなれない。
やはり使い手側が保存の契機をつかんでおきたい。
ので保存ボタンをつけて。

それはうまくいくのだが、
今回のお題が意味するのは

「編集が反映されない」のである。
あれれ?何でだろ。configの設定かな?とリファレンス、サンプル見るも
問題なし。

やはり行き着くのはExtソース。
EditorGridPanelで見てみました。
line33721あたりでコンプリート処理してるんです。
で、
値が変わってて、
バリデータにもかからず、
きゃんせるでもなかったら

レコードのフィールドへセット!

ってあれー?

つまり、フィールドが取れてないんじゃないのか?と。
console.dir()とかいれてフィールド情報見てみたら案の定、
undefined.さん。

で、このフィールド値、さかのぼると
getDataIndexメソッドにカラム番号入れて、、内部ではconfigに設定された
dataIndexとってきてる。

あれ?ちゃんとせっていしてたんだけどな。。。
と、
見直すと
「I」が小文字になってるし。
ああ、そうですか。そうですか。

ということでcolumnModelの定義を全面見直し。
みんな小文字でやんの。

おかげでずーっとほったらかしておいた

「ソートができない」件も無事解決。

これでGridPanel、EditorGridPanelをサーバサイド
含めてある程度使えるようになったわけで。。。

configでたまに陥るワナ。
ビールのみながらだと特に危ない。
エラー起きないし。

でも良かった。

0 件のコメント: