Flex中如何動(dòng)態(tài)生成DataGrid以及動(dòng)態(tài)生成表頭
更新時(shí)間:2013年10月29日 15:29:02 作者:
因某些需要,DataGrid及其表頭需要?jiǎng)討B(tài)生成,網(wǎng)上的解決方案打多籠統(tǒng),下面有個(gè)不錯(cuò)的解決方法,感興趣的朋友可以參考下
在Flex中動(dòng)態(tài)生成表格,并且表格的表頭也是動(dòng)態(tài)生成
1、源碼
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"
creationComplete="initHandler()"
width="100%" height="100%">
<mx:Script>
<![CDATA[
import mx.events.FlexEvent;
import mx.events.ListEvent;
import mx.controls.ComboBox;
import mx.controls.DataGrid;
import mx.collections.ArrayCollection;
import mx.controls.dataGridClasses.DataGridColumn;
[Bindable]
//自定義數(shù)據(jù)源
private var grid:Array = [
{age:'25', sex: "男",name: "張三"},
{age:'22', sex: "女",name: "李四"},
{age:'23', sex: "男",name: "王五"},
{age:'21', sex: "女",name: "趙六"},
{age:'24', sex: "男",name: "錢七"},
{age:'20', sex: "女",name: "魏八"}
];
/*初始化函數(shù)*/
private function initHandler():void
{
var gridArray:ArrayCollection = new ArrayCollection(grid);
gridArray.filterFunction;
//自定義DataGrid控件
var dataGrid:DataGrid = new DataGrid();
//X軸坐標(biāo)
dataGrid.x = 20;
//Y軸坐標(biāo)
dataGrid.y = 20;
//數(shù)據(jù)項(xiàng)是否能編輯
dataGrid.editable = false;
//控件寬度
dataGrid.width = 1300;
//控件高度
//dataGrid.height = 600;
//設(shè)置表格行數(shù)
dataGrid.rowCount = gridArray.length + 1;
//設(shè)置控件內(nèi)容字體大小
dataGrid.setStyle("fontSize", 20);
//設(shè)置表頭顏色
dataGrid.setStyle("headerColors",[0xB0C4DE,0xB0C4DE]);
//設(shè)置字體位置
dataGrid.setStyle("textAlign","center");
//設(shè)置樣式名
dataGrid.styleName;
// 設(shè)置數(shù)據(jù)源
dataGrid.dataProvider = gridArray;
// 添加監(jiān)聽事件類型與觸發(fā)函數(shù)
dataGrid.addEventListener(ListEvent.ITEM_CLICK, itemClickHandler);
// 添加dataGrid控件
addChild(dataGrid);
//聲明一個(gè)數(shù)組
var columns:Array = new Array();
var column:DataGridColumn;
for ( var i:* in grid[0] ) {
column = new DataGridColumn(i);
columns.push(column);
}
dataGrid.columns = columns;
}
/*事件*/
private function itemClickHandler(event:ListEvent):void
{
trace(event.target);
}
]]>
</mx:Script>
</mx:Application>
2、結(jié)果如下圖
1、源碼
復(fù)制代碼 代碼如下:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"
creationComplete="initHandler()"
width="100%" height="100%">
<mx:Script>
<![CDATA[
import mx.events.FlexEvent;
import mx.events.ListEvent;
import mx.controls.ComboBox;
import mx.controls.DataGrid;
import mx.collections.ArrayCollection;
import mx.controls.dataGridClasses.DataGridColumn;
[Bindable]
//自定義數(shù)據(jù)源
private var grid:Array = [
{age:'25', sex: "男",name: "張三"},
{age:'22', sex: "女",name: "李四"},
{age:'23', sex: "男",name: "王五"},
{age:'21', sex: "女",name: "趙六"},
{age:'24', sex: "男",name: "錢七"},
{age:'20', sex: "女",name: "魏八"}
];
/*初始化函數(shù)*/
private function initHandler():void
{
var gridArray:ArrayCollection = new ArrayCollection(grid);
gridArray.filterFunction;
//自定義DataGrid控件
var dataGrid:DataGrid = new DataGrid();
//X軸坐標(biāo)
dataGrid.x = 20;
//Y軸坐標(biāo)
dataGrid.y = 20;
//數(shù)據(jù)項(xiàng)是否能編輯
dataGrid.editable = false;
//控件寬度
dataGrid.width = 1300;
//控件高度
//dataGrid.height = 600;
//設(shè)置表格行數(shù)
dataGrid.rowCount = gridArray.length + 1;
//設(shè)置控件內(nèi)容字體大小
dataGrid.setStyle("fontSize", 20);
//設(shè)置表頭顏色
dataGrid.setStyle("headerColors",[0xB0C4DE,0xB0C4DE]);
//設(shè)置字體位置
dataGrid.setStyle("textAlign","center");
//設(shè)置樣式名
dataGrid.styleName;
// 設(shè)置數(shù)據(jù)源
dataGrid.dataProvider = gridArray;
// 添加監(jiān)聽事件類型與觸發(fā)函數(shù)
dataGrid.addEventListener(ListEvent.ITEM_CLICK, itemClickHandler);
// 添加dataGrid控件
addChild(dataGrid);
//聲明一個(gè)數(shù)組
var columns:Array = new Array();
var column:DataGridColumn;
for ( var i:* in grid[0] ) {
column = new DataGridColumn(i);
columns.push(column);
}
dataGrid.columns = columns;
}
/*事件*/
private function itemClickHandler(event:ListEvent):void
{
trace(event.target);
}
]]>
</mx:Script>
</mx:Application>
2、結(jié)果如下圖
相關(guān)文章
Flex中對(duì)表格某列的值進(jìn)行數(shù)字格式化并求百分比添加%
需要對(duì)表格中某列的數(shù)值進(jìn)行格式化,對(duì)該數(shù)值乘以100,并保留兩位小數(shù),添加“%”下面同實(shí)例來(lái)實(shí)現(xiàn)下2014-10-10
Flex中怎么給表格中的滾動(dòng)條定位避免刷新回到原處
如果表格中的字段過(guò)多,會(huì)出現(xiàn)滾動(dòng)條,在將滾動(dòng)條滾到一定的位置時(shí),重新刷新又回到原處,本文教大家如何給滾動(dòng)條定位2014-10-10
Flex播放器(實(shí)現(xiàn)播放、緩沖進(jìn)度條和音頻曲線顯示)
這篇文章主要介紹了Flex播放器(實(shí)現(xiàn)播放、緩沖進(jìn)度條和音頻曲線顯示),需要的朋友可以參考下2014-07-07
Flex4 DataGrid中如何嵌入RadioButton
本文為大家介紹下Flex4 DataGrid中嵌入RadioButton的方法,下面有個(gè)不錯(cuò)的示例,感興趣的朋友可以參考下2013-12-12
Flex 自定義DataGrid實(shí)現(xiàn)根據(jù)條目某一屬性值改變背景顏色
本節(jié)主要介紹了Flex DataGrid根據(jù)條目某一屬性值改變背景顏色,此DataGrid為自定義拓展的,需要的朋友可以參考下2014-07-07
Flex上傳本地圖片并提前瀏覽的實(shí)現(xiàn)方法
個(gè)性頭像最終需要上傳到服務(wù)器的文件系統(tǒng)中,但是程序希望在用戶選擇后直接有個(gè)預(yù)覽,針對(duì)這個(gè)問(wèn)題,下面有個(gè)不粗的實(shí)現(xiàn),希望對(duì)大家有所幫助2014-01-01

