- 浏览: 80296 次
- 性别:
- 来自: 四川
最新评论
-
iceblue510808:
你好,能给我发下你写的这个吗?想学习下,谢谢了Adobe Bu ...
Flex图文混排 -
sxy09:
diding 写道xingfustar 写道哥们,够狠,可以共 ...
Flex图文混排 -
sxy09:
给份源码吧,学习研究下 419119915@qq.com
Flex图文混排之后期开发 -
zhangxiaopei:
哥,你还在吗?能发一份源码给我吗?谢谢,不甚感激邮箱:zhan ...
Flex图文混排之后期开发 -
zhangxiaopei:
兄弟能给源码给我吗?谢谢邮箱zhangoceansoft@12 ...
Flex图文混排
目前能实现的功能:
1.支持编辑表头;
2.删除添加自动更新序号;
3.支持右键操作DataGrid表;
4.支持dg表返回xml字符串
图例:
例子:
MXML:
main.as
1.支持编辑表头;
2.删除添加自动更新序号;
3.支持右键操作DataGrid表;
4.支持dg表返回xml字符串
图例:
例子:
MXML:
<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="init();"> <mx:Script source="main.as"/> <mx:Style> Application{ font-size:12px; } </mx:Style> </mx:Application>
main.as
// ActionScript file import flash.events.ContextMenuEvent; import flash.events.MouseEvent; import flash.ui.ContextMenu; import flash.ui.ContextMenuItem; import mx.collections.ArrayCollection; import mx.containers.HBox; import mx.containers.VBox; import mx.controls.Alert; import mx.controls.Button; import mx.controls.DataGrid; import mx.controls.dataGridClasses.DataGridColumn; import mx.core.ClassFactory; import mx.events.DataGridEvent; import mx.events.FlexEvent; import mx.managers.PopUpManager; import net.diding.dgRender.DgHeaderTextRender; import net.diding.manager.EditDataGridManager; import net.diding.window.InsertDGColumnWindow; import net.diding.window.InsertDGRowWindow; private var MyDataDG:DataGrid; private var mainVBox:VBox; private var editDgManager:EditDataGridManager; private var myContextMenu:ContextMenu=new ContextMenu(); private function init():void { mainVBox=new VBox(); mainVBox.percentHeight=100; mainVBox.percentWidth=100; this.addChild(mainVBox) createDataGrid(mainVBox) var controlBox:HBox=new HBox(); controlBox.percentWidth=100; mainVBox.addChild(controlBox); var ViewBtn:Button=new Button(); ViewBtn.label="查看XML数据"; controlBox.addChild(ViewBtn); ViewBtn.addEventListener(MouseEvent.CLICK, ViewHandler) } private function createDataGrid(MainVBox:VBox):void { MyDataDG=new DataGrid(); editDgManager=new EditDataGridManager(); editDgManager.taget=MyDataDG; MyDataDG.editable=true; MyDataDG.sortableColumns=false MyDataDG.percentWidth=100; MyDataDG.setStyle("verticalAlign", "middle") MyDataDG.columns=myGridcolumns(); MainVBox.addChild(MyDataDG); ShowList(); } private function addDataGridMenuItems():void { myContextMenu.hideBuiltInItems(); var MenuList:Array=["删除行", "删除列", "插入行", "插入列"]; var separatorBeforeArray:Array=[true, false, true, false]; for (var j:int=0; j < MenuList.length; j++){ var item:ContextMenuItem=new ContextMenuItem(MenuList[j], separatorBeforeArray[j]); item.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, MenuItemSelectHandler); myContextMenu.customItems.push(item); } } private function MenuItemSelectHandler(event:ContextMenuEvent):void{ var CaptionString:String=event.target.caption; trace(CaptionString); switch (CaptionString) { case "删除行": editDgManager.DelRow(); break; case "删除列": editDgManager.DelColumn(); break; case "插入行": var InsertRowWindow:InsertDGRowWindow=InsertDGRowWindow(PopUpManager.createPopUp(this,InsertDGRowWindow, false)); InsertRowWindow.title="-->插入行设置"; InsertRowWindow.getWinArg(editDgManager) break; case "插入列": var InsertColWindow:InsertDGColumnWindow=InsertDGColumnWindow(PopUpManager.createPopUp(this,InsertDGColumnWindow, false)); InsertColWindow.title="-->插入列设置"; InsertColWindow.getWinArg(editDgManager) break; } } //此项数据可以动态创建 private var HeadArray:Array=["姓名", "学号", "性别"]; private var arDatas:ArrayCollection; private function myGridcolumns():Array { var cols:Array=MyDataDG.columns; //锁定的order var ID_DC:DataGridColumn=new DataGridColumn(); ID_DC.editable=false; ID_DC.draggable=false; ID_DC.headerText="序号" ID_DC.dataField="ID"; ID_DC.setStyle("textAlign", "center"); ID_DC.width=45; cols.push(ID_DC) //根据headerArray建立DataGridColumn for (var m:int=0; m < HeadArray.length; m++) { var ShowID_DC:DataGridColumn=new DataGridColumn(); ShowID_DC.editable=true; ShowID_DC.draggable=false; ShowID_DC.headerText=HeadArray[m]; ShowID_DC.dataField=HeadArray[m]; ShowID_DC.headerRenderer=new ClassFactory(DgHeaderTextRender); ShowID_DC.setStyle("textAlign", "center"); cols.push(ShowID_DC) } return cols; } private function ShowList():void { arDatas=new ArrayCollection(); arDatas.removeAll(); for (var i:int=0; i < HeadArray.length; i++) { var names:String=HeadArray[i]; var obj:Object=new Object(); var show_num:Number=Number(i + 1); if (show_num < 10) { obj.ID="No.0" + show_num; }else{ obj.ID="No." + show_num; } obj.names=HeadArray[i]; arDatas.addItem(obj) } editDgManager.arData=arDatas; MyDataDG.dataProvider=arDatas; MyDataDG.addEventListener(DataGridEvent.ITEM_FOCUS_OUT, clearMenuHandler); MyDataDG.addEventListener(DataGridEvent.ITEM_FOCUS_IN, setMenuHandler); } private function setMenuHandler(event:DataGridEvent):void { editDgManager.SelColumnIndex=event.columnIndex; MyDataDG.contextMenu=myContextMenu; addDataGridMenuItems(); } private function clearMenuHandler(event:DataGridEvent):void { MyDataDG.contextMenu=null; } private function ViewHandler(event:MouseEvent):void{ var xmlStr:String=editDgManager.ViewXML(); Alert.show(xmlStr) }
评论
4 楼
terryang
2011-08-09
你的EditDataGridManager在哪啊
3 楼
marcucuckoo
2010-09-26
博主,谢谢,太好了
2 楼
diding
2009-03-10
其实也差不多,个人习好;
我比较喜欢全用AS来构架,阅读起来顺眼,呵呵
PS:
用AS定义的module通常会比mxml的module少10KB左右(但是有些类和组件会在runtime时提示找不到(我用module加载module时发现的,这就是为什么会小提源故吧,),这样,只需在main.as 定义一下就可以了,(常见的有datagrid,NumericStepper,TabNavigator,comboBox和DividedBox等)
我比较喜欢全用AS来构架,阅读起来顺眼,呵呵
PS:
用AS定义的module通常会比mxml的module少10KB左右(但是有些类和组件会在runtime时提示找不到(我用module加载module时发现的,这就是为什么会小提源故吧,),这样,只需在main.as 定义一下就可以了,(常见的有datagrid,NumericStepper,TabNavigator,comboBox和DividedBox等)
1 楼
chenguo
2009-03-09
Thanks!还有一个问题想问你:注意到你的组件全是用.as文件写好的,那么如果是用.mxml写好的,有什么不同吗,是不是效率问题?我自己也不太明白,望指教。
发表评论
-
Flex 4.5 – Using Mobile View Transitions
2011-05-18 16:45 2475收录的一篇文章: 原文地址:http://devgirl.or ... -
Flex Array多参数排名(含有并列名次)
2011-04-25 21:52 1481最近有一个项目,客户不仅要求报表同时呈现: 1.员工在整个公司 ... -
从数据库读取数据并在Tree上分组呈现
2011-04-06 23:34 2335最近有一项目,需要从mysql数据库读取数据,到Flex中呈现 ... -
Flex Air 周边整合之碎语
2011-03-05 20:13 2012手边近期有一个项目( ... -
SDK 4.5 (Hero)TextLayout 随记
2010-11-15 22:24 4102TextLayout前沿更新: http://sourcefo ... -
Flex4.5 Hero
2010-11-06 21:03 3027Flex4.5 已在10.24发布,今天终于静下来玩玩它了 下 ... -
Flex4 Declarations in ActionScript
2010-11-02 20:26 2996抽空整理Cairgorn3时,由于喜欢Code,而不喜欢Blo ... -
AS3公历转农历和农历转公历
2010-11-01 21:49 528今天例行整理硬盘中的文件时,看到收录一篇JAVA农历转公历的类 ... -
Flex DataGrid 内嵌AutoCompleteDataGrid
2010-10-27 23:26 1042这个东东是根据flashcommand的AutoComplet ... -
Flex DataGrid 内嵌ComboBox 再内嵌一个 DataGrid
2010-10-27 23:10 1484由于设计需要,曾要用到一个功能模块,但由于数据量的问题,最终p ... -
美发城的烫染护理系统和仓库管理软件
2010-10-27 23:06 1097这段时间,做了两个软件:美发城的烫染护理系统和仓库管理软件 P ... -
Flash Builder 4 的一个作品
2009-07-27 10:33 7887月17日放假,到现在完成了一个网站,记录一下 http:// ... -
AS3获取Jpg图像长宽
2009-03-28 12:32 2136一个老外的比较有用的类,自已整合到自已的utls包中: 1.用 ... -
Flex存bmp图像
2009-03-28 12:13 2165前言: 这阵子没事在研究buzzword,并试图还原前台,费 ... -
Flex图文混排之后期开发
2009-03-07 22:14 6735一: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 2383由于开发一个运行期间由用户来设置dg表,无意间打开Navica ... -
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 7010这几天没事,学习Gumbo的FxTextArea,开发了一个F ...
相关推荐
Flex自定义右键菜单
Flex dataGrid 全选、反选 checkBox 不是很完善,但很有借鉴意义
Flex Builder4.5导入Excel和CSV文件到DataGrid中,并自定义DataGrid选中行的右键
flex datagrid 实现合计功能控件包 带源码,demo fxp是flex4的工程文件,导入到工作空间即可 直接导入项目即可。 更多访问我的blog www.dplayer.net
成功的实现了,datagrid中嵌套checkbox实现全选的功能。分享代码供大家分享。项目为flex3。
flex datagrid 改变指定行的背景颜色,可直接使用
这个分页只与后台交互一次,然后将获得的集合在前台进行分页显示。
flex datagrid资料,下载的别人的,想弄点分数啊
在"WPF分页DataGrid"中介绍了如何实现分页功能,本文中介绍如果实现右键菜单。点击菜单项Age,将Age列隐藏,再点击则显示;并实现移动列后,同步显示。 详见:...
在FLEX4中开发带有过滤功能的DATAGRID组件
NULL 博文链接:https://windmark.iteye.com/blog/1716422
flex Datagrid checkbox全选 Datagrid
flex 通过读取xml文件 实现动态DataGrid数据列表
FLEX的datagrid合计、平均值,很好的例子代码拿来就可以用
可以通过简单的一个标签实现一个表的checkbox功能,当然我才学了不到一个星期,可以在原来的基础上进行扩展,希望交流下我的邮箱是llaysz@163.com,如果大家把它变强大了记得给我发一份谢谢了
Flex DataGrid从XML文件中加载数据
Flex DataGrid 改变某一行的背景颜色,自定义的DataGrid组件
flex DataGrid复选框源码 flex DataGrid复选框源码 flex DataGrid复选框源码
flex datagrid 添加按钮并根据特定内容进行判断是否显示按钮
最近用到,flex datagrid最下面加上了合计功能,源代码,下载可导入直接运行