楽しみのためだけに、少しだけ Flex を学び始めています。おそらく、まだ何か新しいことを学べることを証明するためです :) プロジェクトのアイデアがあり、その一部の 1 つはツリー コンポーネントであり、状況に応じてさまざまな方法でデータを表示できます。構成。
アイデア
ID、日付、時刻、名前、説明などのプロパティを持つオブジェクトのリストがあります。そして時々リストは次のように表示されるべきです:
- 第 1 レベル: 日付
- 第 2 レベル: 時間
- 第 3 レベル: 名前
そして時々このように:
- 第 1 レベル: 年
- 第 2 レベル: 月
- 第 3 レベル: 日
- 第 4 レベル: 時間と名前
レベルとは、もちろんネストのレベルを意味します。したがって、年、月、日、時間などを表すことができます。
問題
それを行うための最良の方法は何ですか?つまり、コンポーネントの外側、またはフレックスの外側でさえ、さまざまな方法でネストするためのデータを準備する必要がありますか? C# の Web サービス レベルで実行できます。ここでは、データベース アクセス レイヤーを使用して Flex に送信し、XML またはオブジェクトの配列を表示する準備ができています。しかし、それが追加の、おそらく不必要なネットワーク トラフィックを引き起こさないのだろうかと思います。
コンポーネントのコードをハックして、データ オブジェクトを XML または ArrayCollection に変換しようとしましたが、Flex について十分な知識がなく、重複を排除したり、キー値によって特定のデータを取得したりすることに行き詰まりました。通常、そのようなことを行うために、マップ、セット、ベクトルを使用した STL を使用していますが、Flex 配列や Dictionary でさえ少し混乱していることに気付きます (言語リファレンスを読み、Google で検索してもあまり運がありませんでした)。
質問
要約すると、選択したタイプの表示用にツリー コンポーネント データを準備する必要がありますか、それともコンポーネント (または ActionScript で記述されたヘルパー クラス) 内で内部的に実行する必要がありますか?
追加の質問
表示方法ごとに個別のデータモデルを準備し、それらの間でデータを転送するコンバーターを用意して、結果のモデルを dataProvider としてコンポーネントにバインドするのは良い方法でしょうか? それとも、それを行うための他の賢い方法があり、私のデータは自動的に再編成されますか? :)