- 浏览: 80347 次
- 性别:
- 来自: 四川
最新评论
-
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 2477收录的一篇文章: 原文地址:http://devgirl.or ... -
Flex Array多参数排名(含有并列名次)
2011-04-25 21:52 1484最近有一个项目,客户不仅要求报表同时呈现: 1.员工在整个公司 ... -
Flex Air 周边整合之碎语
2011-03-05 20:13 2015手边近期有一个项目( ... -
SDK 4.5 (Hero)TextLayout 随记
2010-11-15 22:24 4106TextLayout前沿更新: http://sourcefo ... -
Flex4.5 Hero
2010-11-06 21:03 3032Flex4.5 已在10.24发布,今天终于静下来玩玩它了 下 ... -
Flex4 Declarations in ActionScript
2010-11-02 20:26 2998抽空整理Cairgorn3时,由于喜欢Code,而不喜欢Blo ... -
AS3公历转农历和农历转公历
2010-11-01 21:49 528今天例行整理硬盘中的文件时,看到收录一篇JAVA农历转公历的类 ... -
Flex DataGrid 内嵌AutoCompleteDataGrid
2010-10-27 23:26 1049这个东东是根据flashcommand的AutoComplet ... -
Flex DataGrid 内嵌ComboBox 再内嵌一个 DataGrid
2010-10-27 23:10 1485由于设计需要,曾要用到一个功能模块,但由于数据量的问题,最终p ... -
美发城的烫染护理系统和仓库管理软件
2010-10-27 23:06 1100这段时间,做了两个软件:美发城的烫染护理系统和仓库管理软件 P ... -
Flash Builder 4 的一个作品
2009-07-27 10:33 7887月17日放假,到现在完成了一个网站,记录一下 http:// ... -
AS3获取Jpg图像长宽
2009-03-28 12:32 2137一个老外的比较有用的类,自已整合到自已的utls包中: 1.用 ... -
Flex存bmp图像
2009-03-28 12:13 2166前言: 这阵子没事在研究buzzword,并试图还原前台,费 ... -
Flex图文混排之后期开发
2009-03-07 22:14 6737一:now SDK: flex_sdk_4.0.0.61 ... -
纯AS的RemoteAMF3
2009-03-03 23:35 1568[纯AS的RemoteAMF3] 目前支持:AMFPHP,C ... -
FxTextArea插入图片后,图片上方空隙的解决
2009-03-02 21:51 2385由于开发一个运行期间由用户来设置dg表,无意间打开Navica ... -
Flex Datagrid 行列增加和删除(支持右键)
2009-03-02 19:28 12012目前能实现的功能: 1.支持编辑表头; 2.删除添加自动更新序 ... -
Flex提交Datagrid数据存为xml
2009-03-01 14:38 3131Flex 代码区 MyDataDG为datagrid,执行提 ... -
采用AS开发Module
2009-03-01 13:34 12521.采用ModuleLoader /********** ... -
Flex图文混排
2009-03-01 13:26 7012这几天没事,学习Gumbo的FxTextArea,开发了一个F ...
相关推荐
从数据库中读取数据并显示在RichTextBox从数据库中读取数据并显示在RichTextBox从数据库中读取数据并显示在RichTextBox
基于JDBC从数据库中读取数据,在百度地图批量标注地点例程
Ajax实现下拉列表从数据库读取数据级联
从数据库读取图片文件
从数据库中读取数据并实现分页,以及上下翻页,还有计算出数据库的记录总数,
利用数据库存取图片,利用数据库存取图片,从数据库读取显示出来不是简单的保存上传图片的路径.
C#子线程每隔200ms保存数据到access数据库,然后读取数据库里面的某个字段全部数据和时间数据,以时间为X坐标轴显示到chart波形图中
.。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
几种从数据库读取数据生成excel文件的比较
从access数据库读取写入xls表格,可以借鉴参考,对xls操作和access读写有学习借鉴的地方,写xls有几种方法,我的是一张表全部封装为一个range一次写入,速度很快,如果一个单元格一个单元格的写的话非常慢。
这是我做的一个将数据用excel导出代码,前半段代码可以忽略,是查询语句,最后一段才是导出excel。
从数据库中读取数据进行图形显示需要MSChart OCX从数据库中读取数据进行图形显示需要MSChart OCX
Delphi从数据库读取数据并求平均值,具体到本例中是求商品的增均值,点击统计按钮,即可显示出各个商品的平均值。
能从数据库中根据编码级次动态读取数据加载树菜单,非常灵活!
SAP数据库表数据的读取
Android读取MySQL数据库数据例子。
java读取excel数据导入数据库源码 java读取excel数据导入数据库源码
从数据库中读取数据自动生成XML
本实例是以Wcf项目为服务端,Silverligth项目中添加DataGrid控件,来调用服务端的Wcf服务连接数据库,读取数据后再在DataGrid中呈现出来;初学者,希望可以帮到您!
JDBC读取数据库元数据,生成JAVA实体类