0

だから、私が欲しいのは、次のように、パーツに分割された dataGrid を作成することです。

Column 1    Column 2    Column 3    Column N
data1_r1    data2_r1    data3_r1    data4_r1
data1_r2    data2_r2    data3_r2    data4_r2
data1_r3    data2_r3    data3_r3    data4_r3
                  Session 2         
data1_r5    data2_r5    data3_r5    data4_r5
data1_r6    data2_r6    data3_r6    data4_r6
data1_r7    data2_r7    data3_r7    data4_r7
                  Session 3         

基本的に私が欲しいのはそれです。セッションはダイナミクスです (各セッションの前にいくつのレジスターが来るかはわかりません。セッションの数もわかりませんが、実行時間を数えることはできます)。

  • 各セッションを 1 つの個別の ArrayCollection に分割することもできます
  • それらをすべて 1 つの ArrayCollection に入れることができます
  • また、(必要に応じて) 例のように、それらの間にレジスタを配置することもできます。たとえば、「セッション 2」が dataProvider.getItemAt(3) オブジェクトで、セッション 3 が dataProvider.getItemAt(7) のようになります。

それは可能ですか?それが可能である場合、これを支援するために何を探している必要がありますか? ありがとう

4

1 に答える 1

2

階層データで AdvancedDataGrid を使用することを検討してください。 詳細については、こちらをご覧ください

あなたの状況では、「セッション」オブジェクトが必要だと思います。これは、次のようなオブジェクトと同じくらい簡単です。

package com.something.something
{
    import mx.collections.ArrayCollection;

    public class SessionObject
    {
        public function SessionObject()
        {
        }

        public var label :String;
        public var children :ArrayCollection 
    }
}

セッション オブジェクト内の「Children」コレクションの各要素は、それぞれサブ行の 1 つを表します。概念的には、次のようなオブジェクトになります。

package com.something.something
{
    import mx.collections.ArrayCollection;

    public class SessionData
    {
        public function SessionData()
        {
        }

        public var column1 :String;
        public var column2 :String;
        public var column3 :String;
        public var column4 :String;
    }
}

次に、次のように表示します。

<mx:AdvancedDataGrid width="100%" height="100%">
    <mx:dataProvider>
        <mx:HierarchicalData source="{dpHierarchy}"/>
    </mx:dataProvider>
    <mx:columns>
        <mx:AdvancedDataGridColumn dataField="label"/>
        <mx:AdvancedDataGridColumn dataField="column1 "/>
        <mx:AdvancedDataGridColumn dataField="column2" />
        <mx:AdvancedDataGridColumn dataField="column3"/>
        <mx:AdvancedDataGridColumn dataField="column4"/>
    </mx:columns>
</mx:AdvancedDataGrid>   

コンパイル時に不明な数の列がある場合、事態はさらに難しくなります。ただし、必要に応じて、実行時に「実行時に」ActionScript で列配列を作成できます。

于 2012-09-28T15:47:40.040 に答える