2

ユーザーが列の表示を切り替えることができるメカニズムを備えた Flex (Advanced)DataGrid コンポーネントを作成しようとしています。列を右クリック メニューに読み込むことでこれを大雑把に実装しました。ここで列名を選択すると、表示が切り替わります。動作しますが、最も洗練されたソリューションではありません。

具体的には、Mozilla Thunderbird がメールを表示するために使用する「データグリッド」をエミュレートしようとしています。ここに画像があります:

thunderbird_datagrid.png

右上のスクロール バーの上にアイコンがあります。スクロールバーがない場合、アイコンは同じ場所に残ります。アイコンをクリックすると、可能なすべての列を表示するメニューが開き、次のように、表示されている列の横にチェック マークが付いています。

thunderbird_select_columns.png

また、スクロール バーは常にこのボタンの下に表示され、独自の列に「押し込む」ことはありません。

これを Flex で再作成したいと思います。メニュー部分とボタン headerRenderer を使用して列を作成するのは簡単だと思います。しかし、スクロールバーは常に「独自の列」であるように見えるため、スクロールバーでこれを行う方法(可能な場合)がわかりません。アイデアや助けをいただければ幸いです。ありがとうございました。

  • イアン
4

1 に答える 1

1

1つの汚い解決策が思い浮かびます。Canvasに基づいてコンポーネントを作成し、createChildrenをオーバーライドしてAdvancedDataGridを追加します。updateDisplayListもオーバーライドし、Thunderbirdのようなボタンをキャンバスの右上に追加します。これにより、ボタンがDataGridの上に表示されます。問題は解決しましたか?

于 2011-02-14T18:30:10.473 に答える