У меня есть массив, подобный следующему
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 строками, где первая строка будет отображать empNo, вторая строка будет отображать соответствующую зарплату (поле sal), а третья строка будет отображать Расходы (поле exp).
Подскажите, как это сделать?
2 ответа
На самом деле я хотел сказать, что данные будут поступать в dataGrid в формате, указанном ниже Строка 1: -> Emp No 1001 1002 1003 Строка 2: -> Sal 1000 3000 1000 Строка 3: -> exp 400 240 452
Вот ваше решение
<?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>
Я думаю, это то, что вы спросили :)
Похожие вопросы
Связанные вопросы
Новые вопросы
apache-flex
Apache Flex [НЕ CSS FLEXBOX] - это среда для разработки многофункциональных интернет-приложений, работающих в Flash Player или Adobe Air. Изначально разработанный компанией Adobe, Flex был подарен Apache Software Foundation в 2011 году и стал проектом Apache высшего уровня в декабре 2012 года.