【问题标题】:Transposing a set of rows as column in a Flex Data Grid将一组行转换为 Flex 数据网格中的列
【发布时间】:2009-08-26 11:35:31
【问题描述】:

我有一个类似下面的数组

public var sal:Array=[
     {empNo:1001, sal:1000, exp:400},
     {empNo:1002,    sal:3000, exp:240},
     {empNo:1003,    sal:1000, exp:452},
     {empNo:1004,    sal:5000, exp:348},
     ......
     {empNo:1550,    sal:2000, exp:330},

     ];

我需要使用 3 行 flex 数据网格来显示数据,其中第一行将显示 empNo,第二行将显示相应的薪水(字段 sal),第三行将显示支出(字段 exp)。

你能告诉我怎么做吗?

【问题讨论】:

  • 嗨,你能详细说明一下这个“3行弹性数据网格”是什么意思

标签: apache-flex datagrid


【解决方案1】:

实际上我的意思是说数据将以如下格式进入 dataGrid 第 1 行:-> 员工编号 1001 1002 1003 第 2 行:-> 萨尔 1000 3000 1000 第 3 行:->exp 400 240 452

【讨论】:

    【解决方案2】:

    这是你的解决方案

    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" initialize="formatData()">
        <mx:Script>
            <![CDATA[
                import mx.controls.advancedDataGridClasses.AdvancedDataGridColumn;
                import mx.collections.ArrayCollection;
                [Bindable]
                var dp:ArrayCollection=new ArrayCollection();
    
                private function formatData():void
                {
                    var salArray:Array=[{empNo: 1001, sal: 1000, exp: 400}, {empNo: 1002, sal: 3000, exp: 240}, {empNo: 1003, sal: 1000, exp: 452}, {empNo: 1004, sal: 5000, exp: 348}];
                    var i:int=0;
                    var empNo:Object=new Object();
                    var sal:Object=new Object();
                    var exp:Object=new Object();
                    var columns:Array = new Array();
    
                    for (i=0; i < salArray.length; i++)
                    {
                        empNo["col"+i]=salArray[i].empNo;
                        sal["col"+i]=salArray[i].sal;
                        exp["col"+i]=salArray[i].exp;
                        var advancedDataGridColumn:AdvancedDataGridColumn=new AdvancedDataGridColumn();     
                        advancedDataGridColumn.dataField="col"+i;
                        columns.push(advancedDataGridColumn);
                    }
    
                    dp.addItem(empNo);
                    dp.addItem(sal);
                    dp.addItem(exp);
                    adg1.columns=columns;
                    adg1.invalidateDisplayList();
                }
            ]]>
        </mx:Script>
        <mx:AdvancedDataGrid x="40.5" y="163" id="adg1" designViewDataType="flat" dataProvider="{dp}">      
        </mx:AdvancedDataGrid>
    
    </mx:Application>
    

    我想这就是你问的:)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-01
      • 1970-01-01
      • 2021-11-19
      • 2019-07-05
      • 2021-08-26
      • 1970-01-01
      相关资源
      最近更新 更多