在Flex数据网格中将一组行作为列进行调整 [英] Transposing a set of rows as column in a Flex Data Grid

查看:177
本文介绍了在Flex数据网格中将一组行作为列进行调整的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个如下的数组

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)。

I need to show data using a 3 row flex data grid where the first row will display empNo, the second row will display corresponding salary(field sal), and the third row will display Expenditure (field exp).

你能告诉我如何做吗?

推荐答案

这是您的解决方案

<?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>

我认为这是你问的:)

这篇关于在Flex数据网格中将一组行作为列进行调整的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆