热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Flex根据后台的数据自动生成AdvancedDataGrid

在企业级应用开发中AdvancedDataGrid和DataGrid使用的非常广。当然最基本的也是最常用的就是数据的直接绑定,固定列头和固定数据的列数。而这往往不能满足需求,企业应用

       在企业级应用开发中AdvancedDataGrid 和DataGrid 使用的非常广。当然最基本的也是最常用的就是数据的直接绑定,固定列头和固定数据的列数。而这往往不能满足需求,企业应用的开发常常是以数据为中心,数据会经常变化比如增加了列头,删除某列的数据,群组子类的新增等等。这里就要根据后台数据完全的自动化生成了,也就是完全使用ActionScript来写,其实也很简单,flex的每段mxml标记都对应了相同的AS类,只是在某些细节上的实现有些不同.下面简单的例子供大家参考,相信能解决开发中的大部分问题。

如转载请注明原文章出处谢谢。

                        [Bindable]
public var dgSource:ArrayCollection = new ArrayCollection();
private var adDG:AdvancedDataGrid = new AdvancedDataGrid();
[Bindable]
public var newSource:ArrayCollection = new ArrayCollection();

protected function httpservice1_resultHandler(event:ResultEvent):void
{
dgSource = event.result.root.Item;

//遍历数据源
var ss:int = 0;
while(ss <((dgSource.getItemAt(0).value.string) as ArrayCollection).length)
{
var newObj:Object=new Object();
for(var s:int=0;s{
newObj[dgSource.getItemAt(s).duName] = dgSource.getItemAt(s).value.string[ss];
}
ss ++;
newSource.addItem(newObj);
}

adDG.dataProvider = newSource;
adDG.groupedColumns = getColumnGroupNames(dgSource);
adDG.sortableColumns = false;
adDG.sortExpertMode = false;
adDG.showInAutomatiOnHierarchy= false;
adDG.height = 400;
adDG.percentWidth = 100;
adDG.horizOntalScrollPolicy= ScrollPolicy.AUTO;
this.addElement(adDG);

}


                        //根据数据源格式生成相应的Column和ColumnGroupprivate function getColumnGroupNames(columnsSource:ArrayCollection):Array{var columnGrouNames:Array=new Array();if (columnsSource && columnsSource.length > 0){for (var i:int=0; i  -1){columnGrouNames[column_index].children.push(column)}else{var groupName:AdvancedDataGridColumnGroup=new AdvancedDataGridColumnGroup();groupName.headerText=obj.duOwner;groupName.children=[column];columnGrouNames.push(groupName);}}else //如果当前列不是群组列则直接添加{columnGrouNames.push(column);}}}return columnGrouNames;}//判断群组是否存在//不存在则添加//存在则返回当前下标private function judgeGroupNameIfExist(groupSource:Array, name:String):int{for (var i:int=0; i 





xml数据源

      Name          Name 1      Name 2      Name 3      Name 4      Name 5            Owner          HR 1      HR 2      HR 3      HR 4      HR 5            Type          Labor 1      Labor 2      Labor 3      Labor 4      Labor 5            Department One    Zhang San          13.0000      14.0000      15.0000      16.0000      17.0000            Department Two    Li Shi          4.0000      5.0000      6.0000      7.0000      8.0000            Department Three    Wang Wu          9.0000      10.0000      11.0000      12.0000      13.0000            Department Four    Zhang San          5.0000      6.0000      7.0000      8.0000      9.0000            Department Five    Wang Wu          11.0000      12.0000      13.0000      14.0000      15.0000      





推荐阅读
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • Python正则表达式学习记录及常用方法
    本文记录了学习Python正则表达式的过程,介绍了re模块的常用方法re.search,并解释了rawstring的作用。正则表达式是一种方便检查字符串匹配模式的工具,通过本文的学习可以掌握Python中使用正则表达式的基本方法。 ... [详细]
  • 怎么在PHP项目中实现一个HTTP断点续传功能发布时间:2021-01-1916:26:06来源:亿速云阅读:96作者:Le ... [详细]
  • 如何自行分析定位SAP BSP错误
    The“BSPtag”Imentionedintheblogtitlemeansforexamplethetagchtmlb:configCelleratorbelowwhichi ... [详细]
  • Java太阳系小游戏分析和源码详解
    本文介绍了一个基于Java的太阳系小游戏的分析和源码详解。通过对面向对象的知识的学习和实践,作者实现了太阳系各行星绕太阳转的效果。文章详细介绍了游戏的设计思路和源码结构,包括工具类、常量、图片加载、面板等。通过这个小游戏的制作,读者可以巩固和应用所学的知识,如类的继承、方法的重载与重写、多态和封装等。 ... [详细]
  • 本文介绍了brain的意思、读音、翻译、用法、发音、词组、同反义词等内容,以及脑新东方在线英语词典的相关信息。还包括了brain的词汇搭配、形容词和名词的用法,以及与brain相关的短语和词组。此外,还介绍了与brain相关的医学术语和智囊团等相关内容。 ... [详细]
  • Spring特性实现接口多类的动态调用详解
    本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • 本文详细介绍了在ASP.NET中获取插入记录的ID的几种方法,包括使用SCOPE_IDENTITY()和IDENT_CURRENT()函数,以及通过ExecuteReader方法执行SQL语句获取ID的步骤。同时,还提供了使用这些方法的示例代码和注意事项。对于需要获取表中最后一个插入操作所产生的ID或马上使用刚插入的新记录ID的开发者来说,本文提供了一些有用的技巧和建议。 ... [详细]
  • 本文介绍了PE文件结构中的导出表的解析方法,包括获取区段头表、遍历查找所在的区段等步骤。通过该方法可以准确地解析PE文件中的导出表信息。 ... [详细]
  • 成功安装Sabayon Linux在thinkpad X60上的经验分享
    本文分享了作者在国庆期间在thinkpad X60上成功安装Sabayon Linux的经验。通过修改CHOST和执行emerge命令,作者顺利完成了安装过程。Sabayon Linux是一个基于Gentoo Linux的发行版,可以将电脑快速转变为一个功能强大的系统。除了作为一个live DVD使用外,Sabayon Linux还可以被安装在硬盘上,方便用户使用。 ... [详细]
  • 闭包一直是Java社区中争论不断的话题,很多语言都支持闭包这个语言特性,闭包定义了一个依赖于外部环境的自由变量的函数,这个函数能够访问外部环境的变量。本文以JavaScript的一个闭包为例,介绍了闭包的定义和特性。 ... [详细]
  • WebSocket与Socket.io的理解
    WebSocketprotocol是HTML5一种新的协议。它的最大特点就是,服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息,是真正的双向平等对话,属于服务器推送 ... [详细]
author-avatar
手机用户2502858405
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有