- 浏览: 970903 次
- 性别:
- 来自: 珠海
文章分类
最新评论
-
Yunjey:
Yunjey 写道这样子的话、grid中的editable如何 ...
Flex创建可编辑以及分页的DataGrid -
Yunjey:
这样子的话、grid中的editable如何设置啊?!
Flex创建可编辑以及分页的DataGrid -
di1984HIT:
写的很好~~
JCalendar组件 -
sanny81:
此文真棒!感谢一路风尘的奉献!
但我有一疑 ...
Filter发送自定义数据详解 -
umgsai:
求完整demo umgsai@126.com
Flex和Jsp创建用户登入系统
这里例子将展示如何使用用户自定义的item renderer来设置DataGrid中行被选择的风格。看看这个例子:
我们先搭建一个基本的界面结构:一个只有几个列的DataGrid。
<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="300" height="125"> <mx:DataGrid width="100%" height="100%"> <mx:columns> <mx:DataGridColumn headerText="First Name" dataField="firstName"/> <mx:DataGridColumn headerText="Last Name" dataField="lastName"/> <mx:DataGridColumn headerText="Age" dataField="age"/> <mx:DataGridColumn headerText="Sex" dataField="sex"/> </mx:columns> </mx:DataGrid> </mx:Application>
然后,还要导入一些初始的数据到DataGrid中。这里是在在程序加载初始化的时候即creationComplete函数执行的时候调用我们导入数据的函数init()。
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="300" height="125" creationComplete="init()">
方法中增加了一些变量,这些变量对应grid中的datafield。具体如下:
<mx:Script> <![CDATA[ import mx.collections.ArrayCollection; [Bindable] private var peeps:ArrayCollection; private function init():void { peeps = new ArrayCollection(); peeps.addItem({firstName: "Handsome", lastName: "Dude", age: 24, sex: "male"}); peeps.addItem({firstName: "Red", lastName: "Bloke", age: 25, sex: "male"}); peeps.addItem({firstName: "Tall", lastName: "Guy", age: 25, sex: "male"}); peeps.addItem({firstName: "Cute", lastName: "Girl", age: 24, sex: "female"}); peeps.addItem({firstName: "Hot", lastName: "Chick", age: 24, sex: "female"}); peeps.addItem({firstName: "Lazy", lastName: "Man", age: 25, sex: "male"}); } ]]> </mx:Script>
要使得这些数据现实在grid中,我们必须设定DataGrid中的dataProvider属性指向这个数据源:
<mx:DataGrid dataProvider="{peeps}" width="100%" height="100%">
最有意思的部分在于当我们选择了某个行的时候要创建一个自定义的itemRender.这里例子当中我们要创建的自定义组件是一个Label。要使得这个Label可用,我们必须重写Label的set data函数。把Label的text内容设置成为某个dataField的属性值。从我们的renderer的listData属性中取得dataField属性名。自定义的Renderer为:
<?xml version="1.0" encoding="utf-8"?> <mx:Label xmlns:mx="http://www.adobe.com/2006/mxml" width="100%" height="100%"> <mx:Script> <![CDATA[ import mx.controls.dataGridClasses.DataGridListData; override public function set data(value:Object):void { super.data = value; if(value) { var dglistData:DataGridListData = listData as DataGridListData; if(value[dglistData.dataField]) this.text = value[dglistData.dataField]; } } ]]> </mx:Script> </mx:Label>
这里我们所做的只是创建一个很贱的item Renderer。要弄清这个Renderer是否是我们所选的行,我们必须检查这个Renderer的Data是否对应DataGrid中被选中行的数据。为此,我们又在init中设置了对DataGrid事件的监听。下面是全部的CustomRenderer.mxml
<?xml version="1.0" encoding="utf-8"?> <mx:Label xmlns:mx="http://www.adobe.com/2006/mxml" width="100%" height="100%" creationComplete="init()"> <mx:Script> <![CDATA[ import mx.events.ListEvent; import mx.controls.DataGrid; import mx.controls.dataGridClasses.DataGridListData; private var dg:DataGrid; private function init():void { dg = listData.owner as DataGrid; dg.addEventListener(ListEvent.CHANGE, updateSelected); } override public function set data(value:Object):void { super.data = value; if(value) { var dglistData:DataGridListData = listData as DataGridListData; if(value[dglistData.dataField]) this.text = value[dglistData.dataField]; updateSelected(); } } private function updateSelected(e:Event = null):void { if(!data || !dg) return; if(dg.selectedItem == data) { //This row is selected update stuff setStyle("fontWeight", "bold"); } else { //This row is not selected reset stuff setStyle("fontWeight", "normal"); } } ]]> </mx:Script> </mx:Label>
首先,我为DataGrid增加了一个变量dg,在inti函数中,我们使用了之前提过的listData设置了gird变量等于这个renderer的owner.然后我们添加了一个事件,能够响应选择事件并且调用了updateSelected函数。这个函数检查这一行,并且更新了显示的风格。当然,当另外一行被选择之后,当前的选择行的风格必须也随着改变,即恢复初始的状态。
代码下载:http://www.switchonthecode.com/sites/default/files/244/source/SOTC-DataGridSelectedRow.zip
Original Paper:http://www.switchonthecode.com/tutorials/flex-datagrid-selected-row-styling
发表评论
-
Rounded Colorized Image Borders
2009-05-16 22:24 1084This week I ran across a really ... -
Flex使用自定义皮肤和字体
2009-03-29 14:57 4236首先介绍两个Flex皮肤网站: 1. Skins and Th ... -
Flex--XML转换成ArrayCollection
2009-03-28 23:24 9656xml数据: <?xml version="1 ... -
Flex使用弹出窗口为DataGrid添加新数据
2009-03-28 21:01 2672经常在Demo中会看到列表,表格等方式来显示数据。当然有时候也 ... -
关于Flex使用Blazeds连接Java后台的一个注意笔记
2009-03-24 16:49 2216今天在做Flex程序测试的时候,发现之前可以通过Blazeds ... -
Flex使用JSON格式与Java通信
2009-03-22 00:09 7325在使用Flex,Java,Json更新Mysql数据【高级篇】 ... -
Flex--主程序与弹出窗口之间传递数据
2009-03-20 23:08 2679主程序:TitleWindowDataTest.mxml & ... -
Flex中显示手型鼠标
2009-03-06 21:40 5226有些时候,我们需要在Flex组件上--Label或者Butto ... -
Flex与JSON及XML的互操作
2009-03-01 17:18 1921作者 Jack Herrington 译者 张凯 ... -
Flex代码格式化插件
2009-03-01 16:52 2743在7Yue 那里看到这个轻巧实用的Eclipse插件,它可以 ... -
Flex-CUBlog排行榜解析
2008-07-29 20:55 1977不知道为什么一直有一个想法把CUBlog排行榜的数据提取出来放 ... -
使用Flex,Java,Json更新Mysql数据【高级篇】
2008-06-24 20:21 5839前面已经介绍如何使用Flex,java,json来更新dat ... -
Flex+Java Servlet文件上传实例
2008-06-23 21:05 20294资源都是来自网上。本实例将展示使用Flex和java serv ... -
Flex和Jsp创建用户登入系统
2008-06-22 16:16 4300在开始之前我们先来看下效果:【userName==passwo ... -
Flex中嵌入Google地图
2008-06-18 22:29 5982在我们开始之前,先来看一个例子:http://scriptpl ... -
Flex程序发布
2008-06-17 23:32 4016当你写好了一个Flex程序,想要按照某种方式发布。比如我们在 ... -
Flex自定义Alert窗口显示位置
2008-06-16 18:25 6339好像Flex3也没有找到可以直接使用的(x,y)的方法来指定A ... -
Flex支持滑轮滚动
2008-06-16 18:23 3445有些时候需要在Flex界面中支持鼠标的滑轮滚动功能,比如通过滑 ... -
Flex实现简单的Email发送
2008-06-14 16:35 4388本文主要介绍和实现怎么使用Flex-java来实现Em ... -
Flex创建可编辑以及分页的DataGrid
2008-06-13 16:32 14869之前那篇文章:使用Flex,Java,Json更新Mys ...
相关推荐
在Flex开发中,"flex下拉dataGrid"是一种常见的用户界面组件组合,它结合了下拉菜单(Dropdown)和数据网格(DataGrid)的功能,用于提供丰富的数据选择体验。这样的设计通常用于当用户需要从一个较大的数据集合中...
3. **运行main.mxml**:在MyEclipse中,用户可以直接右键点击`bin-debug/main.mxml`文件并选择运行,以启动Flex应用程序。`main.mxml`通常是Flex应用的主入口点,它定义了应用的结构和外观,可能包含控件、布局、...
在Flex中,DataGrid组件是一个非常重要的数据展示控件,常用于显示大量的结构化数据,并支持排序、选择和编辑等功能。在能源监测软件的界面设计中,DataGrid组件往往用于呈现各种能源指标,如能耗、产量等,以便用户...
- **DataGrid**: Flex 中用于展示数据表格的组件。 - **功能**: - 动态加载数据。 - 排序、筛选等功能。 - 数据编辑支持。 #### 20. Flex 和 Java 通信 - **BlazeDS**: 一种用于 Flex 和 Java 服务器之间通信的...
在Flex开发中,DataGrid是常用的组件之一,用于展示数据表格。当数据量较大时,为了提高用户体验,通常会引入翻页功能。本篇将详细探讨如何在Flex中的DataGrid实现翻页功能。 首先,我们需要了解Flex DataGrid的...
- **表格数据显示**:DataGrid是Flex中用于展示表格数据的常用组件。这部分内容会详细介绍如何使用DataGrid来展示数据,并对其进行排序、筛选等功能的实现。 #### 14. Flex与后端通信 - **BlazeDS简介**:BlazeDS...
2. **列配置**:定义DataGrid的列,可以设置列的宽度、标题、数据类型等属性,还可以为不同列设置自定义模板。 3. **事件处理**:监听用户在DataGrid上的交互,如点击、排序、选择等,通过添加事件监听器来响应这些...
3. **样式和主题**:在Flex中,我们可以使用CSS来设置AdvancedDataGrid的样式,包括表头的颜色、字体、间距等。Flex还支持主题(Theme),通过预定义的一系列样式和皮肤,可以快速改变整个应用程序的外观。例如, ...
- Flex支持使用CSS来定制界面样式,使得界面风格更加统一和美观。 #### 20. **数据验证** - Flex提供了丰富的数据验证机制,确保用户输入的数据符合预期。 #### 21. **打印** - Flex应用可以支持打印功能,允许...
4. **日期选择器效果**:Flex中的`mx.controls.DateChooser`组件可以创建日期选择器,用户可以设置其外观和交互效果,例如弹出日历的动画效果,或者选择日期时的视觉反馈。 5. **引用Swf的Btn按钮**:在Flex中,...
Flex4是一种基于ActionScript 3.0的开源框架,用于构建富互联网应用程序(RIA)。它提供了强大的图形渲染、组件库和数据绑定功能,使得开发者能够创建具有高度交互性和视觉吸引力的Web应用。在这个"flex4实现的简单...
### Flex4权威教程中文版入门知识点详解 #### 一、Flex4简介与环境搭建 - **Flex4概述**:Flex4是一种开源框架,用于构建跨平台的桌面应用程序和Web应用程序。它提供了强大的用户界面(UI)组件库以及高级数据可视...
在本项目中,开发者为了摆脱传统基于Flash的时间轴控制方式,选择使用Flex来构建一个更灵活、更现代的动态相册。 Flex框架的核心是Flex Builder(现更名为Flash Builder),这是一个集成开发环境(IDE),提供了...
在Flex中实现这些功能,我们可以利用其内置的组件,如DataGrid展示事件,使用DateChooser选择日期,以及通过HTTPService与服务器进行数据交互。同时,Flex的皮肤和主题机制让我们能够自定义界面,使其接近Google日历...
- **ActionScript 3 (AS3)**: 是一种面向对象的脚本语言,被广泛应用于Flex和Flash平台,用于编写交互式内容、应用程序和服务。AS3提供强大的性能和灵活性,支持高级数据处理、网络通信等功能。 #### 2. Flex组件...
- **组件库**:熟悉Flex标准组件库,包括Button、TextArea、DataGrid等常用控件。 #### 2.2 用户界面设计与优化 - **布局管理**:学习Flex布局管理器,如HorizontalLayout、VerticalLayout等,实现自适应布局。 - ...