integra
3 Mar 2009, 11:44 PM
いわゆる「詳細画面」や「確認画面」を表示する際のことです。
1件のレコードのラベルとデータをExtJSを使用して描画するというのを満たすために、
1.Ext.XTemplateでラベルとデータをHTML要素で書く。
2.Ext.form.FormPanelでオブジェクト作成する。(それぞれのアイテムはreadOnly)
のいずれかの方法でやっているのですが、
1.は、ExtJSのインターフェースとのギャップが激しいためかっこ悪い。
2.は、Formの見た目になるため、紛らわしい。
と問題がでています。
1件のレコードを画面上に描画する際、皆さんはどのようにされていますか?
皆さんのお知恵やご経験から、ぜひご意見を伺いたいと思います!
以下は1.の方法でやった場合のサンプルです。
var tpl = new Ext.XTemplate(
"<table>",
"<tr><th>顧客番号</th><td>{customertId}</td></tr>",
"<tr><th>顧客名</th><td>{customerName}</td></tr>",
"</table>"
);
var infoPanel = new Ext.Panel({frame: true});
var window = new Ext.Window({
title: '顧客情報',
modal: true,
width: 400,
items: [infoPanel]
});
window.show();
tpl.overwrite(infoPanel.body, data);
また、添付ファイルで簡単に動くものを用意しました。
1件のレコードのラベルとデータをExtJSを使用して描画するというのを満たすために、
1.Ext.XTemplateでラベルとデータをHTML要素で書く。
2.Ext.form.FormPanelでオブジェクト作成する。(それぞれのアイテムはreadOnly)
のいずれかの方法でやっているのですが、
1.は、ExtJSのインターフェースとのギャップが激しいためかっこ悪い。
2.は、Formの見た目になるため、紛らわしい。
と問題がでています。
1件のレコードを画面上に描画する際、皆さんはどのようにされていますか?
皆さんのお知恵やご経験から、ぜひご意見を伺いたいと思います!
以下は1.の方法でやった場合のサンプルです。
var tpl = new Ext.XTemplate(
"<table>",
"<tr><th>顧客番号</th><td>{customertId}</td></tr>",
"<tr><th>顧客名</th><td>{customerName}</td></tr>",
"</table>"
);
var infoPanel = new Ext.Panel({frame: true});
var window = new Ext.Window({
title: '顧客情報',
modal: true,
width: 400,
items: [infoPanel]
});
window.show();
tpl.overwrite(infoPanel.body, data);
また、添付ファイルで簡単に動くものを用意しました。