将一组行转置为 Flex 数据网格中的列 [英] Transposing a set of rows as column in a Flex Data Grid

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

问题描述

我有一个像下面这样的数组

I have an array like the following one

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天全站免登陆