写这个测试主要是为了测试在一个界面上,如果有一个表,表列有250列,行100行,里面填充数据也就是250*100个节点数据,页面是否会崩溃,发现,大概7.8秒左右出现界面,没有崩溃,希望对有同样需求的人有帮助,3Q -nj
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600"
initialize="initTable()"
creationComplete="drawTable()">
<fx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
import mx.controls.advancedDataGridClasses.AdvancedDataGridColumn;
import mx.events.FlexEvent;
private var columnsArrayCollection:ArrayCollection=new ArrayCollection();
/**
*
*初始化表格列头
*
*/
protected function initTable():void
{
var datagridColumnPosition:AdvancedDataGridColumn;
for(var i:int=0;i<250;i++)
{
//创建一列
datagridColumnPosition = new AdvancedDataGridColumn();
datagridColumnPosition.width=60;
//表头文字
datagridColumnPosition.headerText=i+"列";
//datafield
datagridColumnPosition.dataField=("d"+i.toString());
//将列添加到grid
columnsArrayCollection.addItem(datagridColumnPosition);
}
tab.groupedColumns=columnsArrayCollection.toArray();
}
/**
*动态给表格填入数据
*
*/
private var alllist:ArrayCollection = new ArrayCollection();
protected function drawTable():void
{
var obj:Object = new Object();
for(var k:int=0;k<100;k++)
{
for(var n:int=0;n<250;n++)
{
obj["d"+n] = "one"+n;
}
alllist.addItem(obj);
}
tab.dataProvider = alllist;
}
]]>
</fx:Script>
<fx:Declarations>
<!-- 将非可视元素(例如服务、值对象)放在此处 -->
</fx:Declarations>
<mx:AdvancedDataGrid id="tab" left="30" right="30" top="30" bottom="30"
horizontalScrollPolicy="on" textAlign="center"
verticalScrollPolicy="on"
sortExpertMode="true">
</mx:AdvancedDataGrid>
</s:Application>