私はExtJSを使用してFilterEditorを開発しようとしています。 ユーザーはいくつかの範囲、比較、null/notnullの基準を作成し、ユーザーは全体的な基準を簡単に読むことができるように、適切な形式の形式で提示する必要があります。ExtJS XTemplate
このため、私はExt.DataViewとXTemplatesを使ってこのトリックを行いました。しかし、テンプレートをメンテナンス可能にするために複数のテンプレートを提供できるかどうか、またはテンプレートの一部を選択するための組み込み機能をいくつか使用することができますか?
var dateRangeTpl = new Ext.XTemplate(
'<tpl for=".">',
'<div id="{CriteriaId}">',
'<em>{FieldName} </em>',
'<span>{Modifier} </span>',
'<span>{Condition} </span>',
'<span>{LeftDate} </span>',
'<span>{RightDate} </span>',
'</div>',
'</tpl>',
'<div class="x-clear"></div>'
var notNullTpl = new Ext.XTemplate(
'<tpl for=".">',
'<div id="{CriteriaId}">',
'<em>{FieldName} </em>',
'<span>{Modifier} </span>',
'<span>{Condition} </span>',
'</div>',
'</tpl>',
'<div class="x-clear"></div>'
出力:
Invoice Date not between 2011-01-01 2011-01-31
Invoice Date not null
テンプレートがたくさんあるでしょう、私はいくつかのインラインデータエディタを提供することを考えていますので、おそらくこれは数字で成長します。私はそれが大きく複雑になるかもしれないいくつかの単純なブロックを行うことができることを知っているので、私はそれに潜入する前にいくつかの意見が欲しかった。
ので、このソリューションは、我々は非常に強力である:)テンプレートでテンプレートを使用できることを示唆しています。 Anohterの推奨では、DataViewの代わりにGridPanelを使用し、レンダラー関数を使用してレンダリング関数に正しいテンプレートを適用しました。 – hazimdikenli