Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 使用Flex 3在会话中划分dataGrid_Actionscript 3_Apache Flex_Datagrid_Actionscript_Flex3 - Fatal编程技术网

Actionscript 3 使用Flex 3在会话中划分dataGrid

Actionscript 3 使用Flex 3在会话中划分dataGrid,actionscript-3,apache-flex,datagrid,actionscript,flex3,Actionscript 3,Apache Flex,Datagrid,Actionscript,Flex3,所以,我想把一个数据网格分成几个部分,如下所示: 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

所以,我想把一个数据网格分成几个部分,如下所示:

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         
package com.something.something
{
    import mx.collections.ArrayCollection;

    public class SessionObject
    {
        public function SessionObject()
        {
        }

        public var label :String;
        public var children :ArrayCollection 
    }
}
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>   
基本上我想要的就是这个。会话是动态的(我不知道每个会话之前有多少个寄存器,也不知道将有多少个会话,但我可以计算执行时间)

  • 我还可以将每个会话划分为一个单独的ArrayCollection
  • 我可以把它们都放在一个数组集合中
  • 我还可以(如果必要的话)在它们之间放置一个寄存器,如示例所示。例如,就像“会话2”是dataProvider.getItemAt(3)对象,而会话3是dataProvider.getItemAt(7)
有可能吗?如果有,我应该寻找什么来帮助我?
谢谢

你可以考虑使用AdvaseDATAGRID和分层数据… 对于您的情况,我认为您需要一个“会话”对象;就像这样的物体一样简单:

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         
package com.something.something
{
    import mx.collections.ArrayCollection;

    public class SessionObject
    {
        public function SessionObject()
        {
        }

        public var label :String;
        public var children :ArrayCollection 
    }
}
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>   
会话对象中“Children”集合的每个元素都代表一个子行。从概念上讲,它们应该是这样一个对象:

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         
package com.something.something
{
    import mx.collections.ArrayCollection;

    public class SessionObject
    {
        public function SessionObject()
        {
        }

        public var label :String;
        public var children :ArrayCollection 
    }
}
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>   
然后像这样显示它:

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         
package com.something.something
{
    import mx.collections.ArrayCollection;

    public class SessionObject
    {
        public function SessionObject()
        {
        }

        public var label :String;
        public var children :ArrayCollection 
    }
}
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“动态”中创建列数组。

列是已知的和静态的,动态的是会话量和每个会话中的记录量。然后在我定义的结构中创建数据可能就是答案。