Flex中如何动态生成DataGrid以及动态生成表头(flex使用)硬核推荐

随心笔谈2年前发布 admin
200 0 0

文章摘要

这篇文章展示了如何在MX框架中使用Flex布局创建自定义数据网格。文章详细介绍了如何定义自定义数据源(grid数组),并将其用于DataGrid组件中。代码中还配置了数据网格的样式属性,如字体大小、颜色和对齐方式,并添加了事件监听功能(ListEvent.ITEM_CLICK)。文章的核心内容是DataGrid组件的配置及其与用户数据的集成。

creationComplete=”initHandler()”

width=”100%” height=”100%”>

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]

//自定义数据源

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: “魏八”}

];

private function initHandler():void

{

var gridArray:ArrayCollection=new ArrayCollection(grid);

gridArray.filterFunction;

//自定义DataGrid控件

var dataGrid:DataGrid=new DataGrid();

//X轴坐标

dataGrid.x=20;

//Y轴坐标

dataGrid.y=20;

//数据项是否能编辑

dataGrid.editable=false;

//控件宽度

dataGrid.width=1300;

//控件高度

//dataGrid.height=600;

//设置表格行数

dataGrid.rowCount=gridArray.length + 1;

//设置控件内容字体大小

dataGrid.setStyle(“fontSize”, 20);

//设置表头颜色

dataGrid.setStyle(“headerColors”,[0xB0C4DE,0xB0C4DE]);

//设置字体位置

dataGrid.setStyle(“textAlign”,”center”);

//设置样式名

dataGrid.styleName;

// 设置数据源

dataGrid.dataProvider=gridArray;

// 添加监听事件类型与触发函数

dataGrid.addEventListener(ListEvent.ITEM_CLICK, itemClickHandler);

// 添加dataGrid控件

addChild(dataGrid);

//声明一个数组

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

}

]]>

© 版权声明

相关文章