`
长虫的梅子
  • 浏览: 42179 次
  • 性别: Icon_minigender_2
  • 来自: 上海
社区版块
存档分类
最新评论

在Flex中动态生成DataGrid 动态的改变表头

    博客分类:
  • Flex
阅读更多
Flex中的DataGrid控件无法根据 数据源 动态的改变表头
下面一个简单的实例实现了表头的动态改变。



<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" initialize="init()">
	<mx:Script>
		<![CDATA[
			import mx.controls.dataGridClasses.DataGridColumn;
			import mx.collections.ArrayCollection;
			import mx.controls.DataGrid;
			import mx.events.ListEvent;
			import mx.controls.ComboBox;
			[Bindable]
                           //  自定义数据源   
			private var dgDataArr:Array = [{name: "Jon", job: "officer",addnew:'aaaa'},
				{name: "James", job: "seller",addnew:'bbbb'},
				{name: "Jodon", job: "manager",addnew:'cccc'},
				{name: "Jon", job: "officer",addnew:'aaaa'},
				{name: "Jon", job: "officer",addnew:'aaaa'},
				{name: "Jon", job: "officer",addnew:'aaaa'}];
			
			private function init():void
			{
				var dgData:ArrayCollection = new ArrayCollection(dgDataArr);
				dgData.filterFunction
                                    // 自定义DataGrid控件
				var dataGrid:DataGrid = new DataGrid();
				dataGrid.x = 10; // X轴坐标
				dataGrid.y = 20; // Y轴坐标
				dataGrid.editable = false; // 数据项是否能编辑
				dataGrid.percentWidth  = 100; // 控件宽度
				dataGrid.percentHeight = 100; // 控件高度
				dataGrid.setStyle("fontSize", 14);
				dataGrid.styleName
				dataGrid.dataProvider = dgData; // 设置数据源
				dataGrid.addEventListener(ListEvent.ITEM_CLICK, itemClickHandler); // 添加监听事件类型与触发函数
				addChild(dataGrid); // 添加dataGrid控件
				
				var columns:Array = new Array();
				var col:DataGridColumn;
				for ( var i:* in dgDataArr[0] ) {
					col = new DataGridColumn(i);
					columns.push(col);
				}
				dataGrid.columns = columns;
				
			}
			private function itemClickHandler(e:ListEvent):void
			{
				trace(e.target);
			}
		]]>
	</mx:Script>
</mx:Application>




分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics