3

グリッド上のRowExpander内にFormPanelを構築する方法はありますか?各行内にextjsフォームを作成したいのですが、現時点では、HTMLである必要があるテンプレートの指定に制限されています。

つまり、私はこれを持っています:

var expander = new Ext.ux.grid.RowExpander({
    enableCaching: false,
    tpl : new Ext.Template($('#row-expander-template').html())
});

行内でExtJSフォームを使用するようにこれを変更するにはどうすればよいですか?

4

2 に答える 2

1

陽気なハッカリー:

テンプレートとして一時要素を使用し、展開イベントで、フォームを一時要素にレンダリングしてから、DOMから削除します。

于 2011-06-17T17:53:03.483 に答える
0

私はこれを試していませんが、RowExpanderのソースを見ると、RowExpanderのexpandイベントハンドラー内の展開された行本体にFormPanelをレンダリングすることが可能な方法のようです。

ただし、ビューが更新されたときにFormPanelをクリーンアップする必要もあります。その部分はトリッキーです。おそらく、グリッドビューのbeforerefreshイベントをフックして、すべてのFormPanelインスタンスを破棄できると思います。ただし、これはバッファリングされたグリッドビューでは機能しません。また、ビューを更新すると、FormPanelで実行していたすべての操作が強制終了されます。

于 2011-06-13T19:44:09.137 に答える