- 浏览: 81639 次
- 性别:
- 来自: 四川
-
最新评论
-
iceblue510808:
你好,能给我发下你写的这个吗?想学习下,谢谢了Adobe Bu ...
Flex图文混排 -
sxy09:
diding 写道xingfustar 写道哥们,够狠,可以共 ...
Flex图文混排 -
sxy09:
给份源码吧,学习研究下 419119915@qq.com
Flex图文混排之后期开发 -
zhangxiaopei:
哥,你还在吗?能发一份源码给我吗?谢谢,不甚感激邮箱:zhan ...
Flex图文混排之后期开发 -
zhangxiaopei:
兄弟能给源码给我吗?谢谢邮箱zhangoceansoft@12 ...
Flex图文混排
最近有一项目,需要从mysql数据库读取数据,到Flex中呈现在Tree上,原来一直用读取xml,现在不想用xml了,直接读取数据后分析呈现。
如果是单层数据还好办,直接用XMLListCollection简要分析完就可以了,现在涉及到要分组显示,即相同职务的员工并到一组去
即:
设计师组: id employeeName employeeGroup .....
12 张三 设计师组
13 李四 设计师组
14 王二麻子 设计师组
烫染师组:
15 黑娃 烫染师组
16 张山 烫染师组
17 王三麻子 烫染师组
//项目的最终效果
如果是单层数据还好办,直接用XMLListCollection简要分析完就可以了,现在涉及到要分组显示,即相同职务的员工并到一组去
即:
设计师组: id employeeName employeeGroup .....
12 张三 设计师组
13 李四 设计师组
14 王二麻子 设计师组
烫染师组:
15 黑娃 烫染师组
16 张山 烫染师组
17 王三麻子 烫染师组

//项目的最终效果

import mx.collections.ArrayCollection; import mx.collections.XMLListCollection; import mx.containers.Panel; import mx.controls.Tree; import mx.core.ClassFactory; import mx.events.ListEvent; //这里写的是hard data //实际操作时 从数据库读取数据 private var companyEmployee:Array=[ {employeeGroup:"理疗师组", employeeID:1, employeeName:"张强", employeeRegPlace:"总部店"}, {employeeGroup:"烫染师组", employeeID:11, employeeName:"罗超", employeeRegPlace:"总部店"}, {employeeGroup:"设计师组", employeeID:12, employeeName:"当当", employeeRegPlace:"总部店"}, {employeeGroup:"前台收银", employeeID:3, employeeName:"伟伟", employeeRegPlace:"总部店"}, {employeeGroup:"伙伴员组", employeeID:7, employeeName:"罗兵", employeeRegPlace:"总部店"}, {employeeGroup:"烫染师组", employeeID:8, employeeName:"超超", employeeRegPlace:"城南店"}]; private var company:Array=[ {companyName:"总部店", id:"1"}, {companyName:"城南店", id:"2"}]; private function init():void { /**** * 相同组的员工可能不止一人 * 理疗师组------分析数据并归组 * **/ AnalyzeEmployeeGroup(); } private var AnalyzedACOData:ArrayCollection=new ArrayCollection() private function AnalyzeEmployeeGroup():void { for (var k:int=0; k < companyEmployee.length; k++) { var obj:Object=new Object(); var obj2:Object=new Object() var childrenACO:ArrayCollection=new ArrayCollection(); if (k == 0) { obj.employeeGroup=companyEmployee[k].employeeGroup; childrenACO.addItem(companyEmployee[k]) obj.children=childrenACO; AnalyzedACOData.addItem(obj) } else { //判断companyEmployee[k].employeeGroup是否在数组中,如果存在, //取得其索引,加入children //否则 新加入数组 var returnNum:Number=findIsDataInArrays(companyEmployee[k].employeeGroup); //找到有 if (returnNum != -1) { //索引值 var idx:Number=findDataInArraysOrder(companyEmployee[k].employeeGroup); var oldObj:Object=AnalyzedACOData.getItemAt(idx); ArrayCollection(oldObj.children).addItem(companyEmployee[k]) } else { //没有找到 obj.employeeGroup=companyEmployee[k].employeeGroup; childrenACO.addItem(companyEmployee[k]) obj.children=childrenACO; AnalyzedACOData.addItem(obj); } } } customTreeData() } private function findIsDataInArrays(input:String):Number { for (var i:int=0; i < AnalyzedACOData.length; i++) { if (AnalyzedACOData[i].employeeGroup === input) { return i; } } return -1; } private function findDataInArraysOrder(input:String):Number { for (var i:int=0; i < AnalyzedACOData.length; i++) { if (AnalyzedACOData[i].employeeGroup === input) { return i; break; } } return -1; } private var dataManageTreeDataXML:XMLListCollection private function customTreeData():void { //tree呈现的数据 dataManageTreeDataXML=new XMLListCollection(); var insertDataXML:XML=<folder label="录入数据"/>; var viewAdminDataXML:XML=<folder label="查看管理"/>; //控制菜单一 公司员工 var employeeXML:XML=new XML(<folder label="公司员工"></folder>); for (var i:int=0; i < AnalyzedACOData.length; i++) { var xmlStr:String="<folder label=" + "\"" + AnalyzedACOData[i].employeeGroup + "\"" + "/>"; var tempXML:XML=XML(xmlStr); employeeXML.appendChild(tempXML) //取得 Children var childrenArr:*=(AnalyzedACOData[i].children); for (var j:int=0; j < childrenArr.length; j++) { var infoForEmployeeStr:String="<folder label=" + "\"" + childrenArr[j].employeeName + "\"" + "employeeID=" + "\"" + childrenArr[j].employeeID + "\"" + "/>" var sub_dataXML:XML=XML(infoForEmployeeStr); //加入操作菜单 sub_dataXML.appendChild(insertDataXML) sub_dataXML.appendChild(viewAdminDataXML); tempXML.appendChild(sub_dataXML) } } dataManageTreeDataXML.addItem(employeeXML); //控制菜单二 var companyXML:XML=new XML(<folder label="公司各店"></folder>); for (var k:int=0; k < company.length; k++) { var xmlForCompanyInfoStr:String="<folder label=" + "\"" + company[k].companyName + "\"" + "id=" + "\"" + company[k].id + "\"" + "/>" var tempForCompanyXML:XML=XML(xmlForCompanyInfoStr); //加入操作菜单 tempForCompanyXML.appendChild(insertDataXML) tempForCompanyXML.appendChild(viewAdminDataXML); companyXML.appendChild(tempForCompanyXML) } dataManageTreeDataXML.addItem(companyXML); trace("===" + dataManageTreeDataXML) createTree() } [Embed(source="/assets/plus.gif")] private var PLUS:Class; [Embed(source="/assets/minus.gif")] private var MINUS:Class; private function createTree():void { var panel:Panel=new Panel(); panel.width=150 panel.percentHeight=100; this.addElement(panel); var MyTree:Tree=new Tree(); MyTree.horizontalScrollPolicy="auto" //MyTree.allowChangeHorizontalScroll=true MyTree.percentHeight=100; MyTree.percentWidth=100 //MyTree.minWidth=150; MyTree.labelField="@label"; MyTree.showRoot=true; MyTree.setStyle("borderAlpha", "0.6") //MyTree.expandItem(treeData, true); MyTree.setStyle("lineColor", 0xff00ff); MyTree.setStyle("folderOpenIcon", null); MyTree.setStyle("folderClosedIcon", null); MyTree.setStyle("defaultLeafIcon", null); MyTree.setStyle("disclosureClosedIcon", PLUS); MyTree.setStyle("disclosureOpenIcon", MINUS); MyTree.itemRenderer=new ClassFactory(TreeItemLinesRenderer) MyTree.allowMultipleSelection=false MyTree.allowDragSelection=false MyTree.addEventListener(ListEvent.CHANGE, treeChanged); panel.addChild(MyTree); MyTree.dataProvider=dataManageTreeDataXML; var nodeList:XMLListCollection=MyTree.dataProvider as XMLListCollection; MyTree.validateNow(); MyTree.expandItem(nodeList[0], true) } public function treeChanged(event:ListEvent):void { var selectedNode:XML=Tree(event.target).selectedItem as XML; trace(selectedNode.parent()) trace(selectedNode.@label) //trace(selectedNode.parent().@id) //执行analyzeID() }
发表评论
-
Flex 4.5 – Using Mobile View Transitions
2011-05-18 16:45 2529收录的一篇文章: 原文地址:http://devgirl.or ... -
Flex Array多参数排名(含有并列名次)
2011-04-25 21:52 1550最近有一个项目,客户不仅要求报表同时呈现: 1.员工在整个公司 ... -
Flex Air 周边整合之碎语
2011-03-05 20:13 2069手边近期有一个项目( ... -
SDK 4.5 (Hero)TextLayout 随记
2010-11-15 22:24 4162TextLayout前沿更新: http://sourcefo ... -
Flex4.5 Hero
2010-11-06 21:03 3074Flex4.5 已在10.24发布,今天终于静下来玩玩它了 下 ... -
Flex4 Declarations in ActionScript
2010-11-02 20:26 3063抽空整理Cairgorn3时,由于喜欢Code,而不喜欢Blo ... -
AS3公历转农历和农历转公历
2010-11-01 21:49 528今天例行整理硬盘中的文件时,看到收录一篇JAVA农历转公历的类 ... -
Flex DataGrid 内嵌AutoCompleteDataGrid
2010-10-27 23:26 1117这个东东是根据flashcommand的AutoComplet ... -
Flex DataGrid 内嵌ComboBox 再内嵌一个 DataGrid
2010-10-27 23:10 1528由于设计需要,曾要用到一个功能模块,但由于数据量的问题,最终p ... -
美发城的烫染护理系统和仓库管理软件
2010-10-27 23:06 1133这段时间,做了两个软件:美发城的烫染护理系统和仓库管理软件 P ... -
Flash Builder 4 的一个作品
2009-07-27 10:33 7887月17日放假,到现在完成了一个网站,记录一下 http:// ... -
AS3获取Jpg图像长宽
2009-03-28 12:32 2166一个老外的比较有用的类,自已整合到自已的utls包中: 1.用 ... -
Flex存bmp图像
2009-03-28 12:13 2203前言: 这阵子没事在研究buzzword,并试图还原前台,费 ... -
Flex图文混排之后期开发
2009-03-07 22:14 6784一:now SDK: flex_sdk_4.0.0.61 ... -
纯AS的RemoteAMF3
2009-03-03 23:35 1647[纯AS的RemoteAMF3] 目前支持:AMFPHP,C ... -
FxTextArea插入图片后,图片上方空隙的解决
2009-03-02 21:51 2448由于开发一个运行期间由用户来设置dg表,无意间打开Navica ... -
Flex Datagrid 行列增加和删除(支持右键)
2009-03-02 19:28 12075目前能实现的功能: 1.支持编辑表头; 2.删除添加自动更新序 ... -
Flex提交Datagrid数据存为xml
2009-03-01 14:38 3174Flex 代码区 MyDataDG为datagrid,执行提 ... -
采用AS开发Module
2009-03-01 13:34 13101.采用ModuleLoader /********** ... -
Flex图文混排
2009-03-01 13:26 7058这几天没事,学习Gumbo的FxTextArea,开发了一个F ...
相关推荐
### 从数据库中读取数据并显示在RichTextBox #### 概述 本文将详细介绍如何在C#应用程序中实现从数据库读取数据,并将其显示在`RichTextBox`控件中的过程。这一技术常用于需要展示从数据库获取的信息的应用场景,如...
本实例将探讨如何从数据库中读取数据并进行处理,这是一个常见的任务,涉及到多个技术层面,包括SQL查询语言、数据库连接、数据处理以及可能的数据分析。 首先,我们需要理解数据库的基本概念。数据库是一个组织...
综上所述,实现"从数据库读取数据到坐标轴为时间的chart显示"的过程包括在子线程中定时保存数据、从Access数据库读取数据、设置chart控件的时间轴格式以及将数据点添加到chart上。确保在实际开发中考虑到性能优化、...
在本项目中,我们主要探讨的是如何利用EasyUI框架创建一个具有多级菜单功能的树形结构,并且能够与后台数据库进行动态交互。EasyUI是一个基于jQuery的UI库,提供了丰富的组件,包括我们这里用到的树形控件(tree)。...
当我们谈论“从数据库读取图片文件”时,通常涉及的是将图片作为BLOB(Binary Large Object)类型存储在数据库中,然后通过应用程序或API从数据库检索并显示这些图片。这一过程涉及到多个关键知识点,让我们逐一深入...
基于JDBC从数据库中读取数据,在百度地图批量标注地点例程
在本篇文章中,我们将讨论如何从数据库中读取数据自动生成XML文件。XML(Extensible Markup Language)是一种标记语言,用于存储和传输数据。它广泛应用于各种领域,包括网络开发、数据交换、配置文件等。 从数据库...
从数据库中读取数据并实现分页,以及上下翻页,还有计算出数据库的记录总数,
在IT领域,图片上传至数据库以及从数据库读取图片是一个常见的需求,特别是在开发涉及用户交互、内容管理和数据存储的应用程序时。以下是对这个主题的详细解释。 首先,我们需要理解为什么要把图片存储到数据库中。...
本示例"Delphi从数据库读取数据并求平均值"就是这样一个典型的数据库操作实践,主要涉及到以下几个知识点: 1. **ADO(ActiveX Data Objects)组件**:Delphi通常使用ADO组件来连接和操作数据库。ADO是一种标准的...
综上所述,图片存入数据库和从数据库中读取图片的过程,不仅涉及对图片数据的二进制处理,还涵盖了数据库操作的关键技术,包括连接管理、命令执行、结果集读取以及异常处理等。掌握这些技术点对于开发人员来说至关...
这是我做的一个将数据用excel导出代码,前半段代码可以忽略,是查询语句,最后一段才是导出excel。
在C#编程环境中,我们可以利用ADO.NET框架来高效地与SQL数据库进行交互,实现如标题所述的“C#读取数据库中表格数据”的功能。本篇文章将深入探讨如何用C#按秒读取SQL数据库中的表格数据,并展示这些数据。 首先,...
SAP数据库表数据的读取
java读取excel数据导入数据库源码 java读取excel数据导入数据库源码
在本实例中,我们将探讨如何使用Django框架从MySQL数据库中读取数据并将其呈现到前端页面上。Django是一个强大的Python Web开发框架,而MySQL则是一种广泛使用的关系型数据库管理系统。结合两者,我们可以构建动态的...
本文将详细讲解如何使用易语言读取EDB数据库中的数据并将其显示在编辑框中。 首先,我们需要了解EDB数据库的基本操作。EDB(EasyDatabase)是易语言自带的一种小型数据库,适用于简单的数据存储需求。在易语言环境...
至此,我们完成了从SQLite数据库读取数据并显示在ListView上的整个流程。当数据库中的数据发生变化时,只需刷新Adapter即可更新ListView的显示。这个示例对于理解Android中SQLite与ListView的交互非常有帮助,可以...
JDBC读取数据库元数据,生成JAVA实体类
这个压缩包文件“VC6.0 MFC 数据库读入数据显示在对话框.rar”显然涉及到如何使用MFC来从数据库读取数据,并在对话框中显示这些数据。以下是对这个主题的详细讲解: 首先,我们需要理解MFC中的CDatabase和...