0

いくつかの選択項目やページングなどのために、独自のサブクラスを作成しました。しかし、それらはすべて で機能しrenderer()、文字列を返す必要がありました。

これはうまくいきました。いくつかのイメージタグを作成して返しました。

しかし、このクラスはどのように詳細に機能するのでしょうか? セルにグラフを表示するサブクラスが必要ですが、技術的には問題ありrenderer()ませんが、文字列に対してのみ機能するため、適切な場所ではないようです。

クラスは行ごとにインスタンス化されますか? それとも、必要なデータを含むすべての行に対してどのメソッドが呼び出され、インスタンスは行に関する状態を保持しないのですか?

4

1 に答える 1

1

このrenderer()メカニズムは実際には に実装されておりExt.grid.column.Column、列ごとに 1 つ存在します。

あなたが言及したように、renderer()関数は文字列を返します。これは HTML 文字列である可能性があります (かなり複雑になる可能性があります。ExtJ が標準列に使用するテンプレートを見てください)。ただし、コンポーネント (グラフ) を返すことはできません。

私の知る限り (私自身の理解と同様の質問への回答に基づいて)、ExtJs はグリッド セル内のコンポーネントをレンダリングする簡単な方法を提供しません。よく考えてみると、グリッドに本来の役割以上のものを求めていることになります。チェックボックスなどの単純なユーザー操作機能を追加して、未加工のレコードを表示するように設計されています。

しかし、あなたが本当に求めているのは、グラフをレイアウトする方法です。その問題については、Table layoutを調べることをお勧めします。

または、独自のカスタム列テンプレートで定義される dom 要素にチャートをレンダリングできるはずです。しかし、これは複雑な作業であると考えます。

于 2012-11-27T13:46:18.247 に答える