对dataGrid中常见的情况作了试验,下面演示了几种用法:
(1).在datagrid中根据item的数据触发的动作
(2).演示item中的数据改写
(3).演示不依赖于数据源的checkbox的使用
xml数据源代(index.xml)码如下:
<?xml version='1.0' ?>
<Msg exeCode="000">
<data empty="false">
<entry>
<key>bb</key>
<value>BB</value>
</entry>
<entry>
<key>aa</key>
<value>BB</value>
</entry>
<entry>
<key>cc</key>
<value>
<Book name="ASP.net" price="$12.5" />
<Book name="Base.net" price="$12.5" />
<Book name="C++.net" price="$12.5" />
</value>
</entry>
</data>
</Msg>
演示mxml页面如下: <?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Script>
<![CDATA[
import mx.controls.CheckBox;
import mx.rpc.events.ResultEvent;
import mx.controls.Alert;
import flash.events.Event;
import flash.net.URLLoader;
import mx.events.CloseEvent;
import flash.net.URLRequest;
private function loadApp():void {
var loader:URLLoader = new URLLoader();
var request:URLRequest = new URLRequest("index.xml");
var variables:URLVariables = new URLVariables();
loader.load(request);
loader.addEventListener(Event.COMPLETE, onComplete);
}
private function onComplete(event:Event):void
{
var loader:URLLoader = event.target as URLLoader;
if (loader != null) {
var externalXML:XML = new XML(loader.data);
bookdg.dataProvider = externalXML.data.entry.(key=="cc").value.Book;
}
else {
Alert.show("loader is not a URLLoader!");
}
}
public function labelChangeHandler(item: XML,colName:DataGridColumn):String {
return "[" + item.@price + "]";
}
public function buttonDel() : void {
Alert.okLabel="确定";
Alert.cancelLabel="取消";
Alert.show("危险操作,一经删除无法恢复! 你确认要删除吗", "警告", Alert.OK |Alert.CANCEL ,this, alertListener);
}
private function alertListener(eventObj:CloseEvent):void {
if (eventObj.detail==Alert.OK) {
Alert.show(bookdg.selectedItem.valueOf().@name);
//删除动作
}
}
//用于存储checkbox对象
public var selects : Object = new Object();
public function selectHandler(obj:CheckBox) : void {
if(obj.selected){
selects[bookdg.selectedItem.valueOf().@name] = true;
}else{
selects[bookdg.selectedItem.valueOf().@name] = false;
}
}
public function showSelectedResult() : void {
for (var key : String in selects) {
Alert.show(key + ":" + selects[key]);
//作你要根据checkbox来做的事情
}
}
]]>
</mx:Script>
<mx:Panel width="100%" height="100%">
<mx:VBox width="100%" horizontalAlign="center">
<mx:Text text="代码演示"/>
<mx:DataGrid id="bookdg">
<mx:columns>
<mx:DataGridColumn headerText="选择" width="80" textAlign="center">
<mx:itemRenderer>
<mx:Component>
<!-- 演示不依赖于数据源的checkbox的使用 -->
<mx:CheckBox label="{data.attribute('name')}" click="outerDocument.selectHandler(this);"/>
<!--
如果name不是属性而是子节点,那直接用data.name就出来了,
这里不能用@name来取属性!
-->
</mx:Component>
</mx:itemRenderer>
</mx:DataGridColumn>
<mx:DataGridColumn headerText="price" dataField="@price"/>
<!-- 演示数据改写 -->
<mx:DataGridColumn headerText="price" labelFunction="labelChangeHandler"/>
<!-- 演示在datagrid中根据item的数据触发的动作 -->
<mx:DataGridColumn headerText="操作" width="80" textAlign="center">
<mx:itemRenderer>
<mx:Component>
<!--
在itemRenderer内部提用方法需要加上outerDocument.方法,
或者Application.application.方法
-->
<mx:LinkButton label="删除" click="outerDocument.buttonDel()"></mx:LinkButton>
</mx:Component>
</mx:itemRenderer>
</mx:DataGridColumn>
</mx:columns>
</mx:DataGrid>
<mx:Button label="提交" click="loadApp();"/>
<mx:Button label="显示选择结果" click="showSelectedResult();"/>
</mx:VBox>
</mx:Panel>
</mx:Application>
分享到:
相关推荐
MX:DataGrid是Flex中的一个组件,用于展示数据集并进行交互操作,如排序、选择和编辑。本篇文章将重点讲解如何在Flex中利用MX:DataGrid实现数据过滤显示的功能。 首先,数据过滤是指根据特定条件筛选数据,只显示...
本篇将聚焦于如何使用Adobe Flex来实现分页显示功能,特别是通过mx:DataGrid组件。 Flex是一种基于ActionScript和MXML的开源框架,用于构建富互联网应用程序(RIA)。mx:DataGrid是Flex提供的一个强大组件,可以...
在Flex开发中,DataGrid控件是一个非常重要的组件,它被广泛用于展示和操作结构化的数据,例如数据库表格或者XML列表。本例子旨在帮助开发者更好地理解和应用DataGrid,通过实例来学习其基本功能和特性。 DataGrid...
在 Flex 开发中,ItemRenderer 是一种非常强大的工具,它允许开发者自定义列表(List)、数据网格(DataGrid)等控件中每一项的外观和行为。通过 ItemRenderer,我们可以实现更加灵活和动态的界面设计。 #### 二、...
Flex DataGrid 是 Adobe Flex 中一个重要的组件,用于展示结构化数据。它以表格形式呈现,非常适合用来显示多列数据,并提供了排序、选择、编辑等多种功能。在这个教程中,我们将深入探讨 DataGrid 的基本使用和一些...
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="service.send()" > <mx:Script> ... <mx:DataGrid width="300" dataProvider="{slides}"/> </mx:Application>
### Flex教程之DataGrid用法详解 #### 一、引言 在Flex开发中,`DataGrid`是一个非常重要的UI组件,它能够以表格形式展示数据集合,支持数据的排序、筛选等功能。本文将详细介绍Flex中`DataGrid`控件的使用方法,...
最后,我们需要监听`PagingControl`的事件,如`change`事件,以便在用户切换页面时更新DataGrid: ```actionscript pagingCtrl.addEventListener(PagingEvent.CHANGE, onPagingChange); function onPagingChange...
原理就是ArrayCollection的filterFunction的使用。是根据老外一个帖子改的,其他下载地址在 :http://www.zuidaima.com/share/1714555305004032.htm
Flex Datagrid 是Adobe Flex框架中用于展示数据集的组件,它允许开发者以表格形式展示数据,并提供多种交互功能。在Flex应用中,Datagrid经常被用于处理和展示大量的结构化数据。在标题“Flex Datagrid checkbox实现...
在Flex开发中,DataGrid控件是用于展示数据集的常用组件,它可以显示多行多列的数据,并且具有丰富的自定义功能。本教程主要聚焦于如何在Flex中动态创建DataGrid,并向其中添加图片,这在创建交互式、富媒体应用时...
Flex数据绑定是Adobe Flex开发中的核心特性之一,它允许开发者将UI组件的属性与应用程序的数据模型直接关联。在本示例中,我们关注的是如何在Flex中使用数据绑定技术来操作DataGrid组件,这是一个用于展示表格数据的...
在Flex开发中,DataGrid控件是用于展示数据表格的强大工具,它允许用户对大量数据进行排序、筛选和编辑。本教程将深入讲解如何有效利用DataGrid控件,并结合HTTPService进行参数传递,以实现与服务器的数据交互。...
在Flex开发中,数据网格(DataGrid)是用于展示大量结构化数据的常用组件。它允许用户以表格的形式查看和操作数据。当我们处理的数据需要进行分类或者分组时,Flex DataGrid 提供了表头分组的功能,这使得数据的展示...
在Flex开发中,DataGrid组件通常用于展示结构化数据,并允许用户进行交互操作。而TitleWindow则是一种常用的小型窗口,常用来显示弹出式对话框。本篇将深入探讨如何利用Flex 3中的TitleWindow组件来为DataGrid添加新...
### 在Flex的DataGrid中使用CheckBox #### 一、引言 在Flex应用程序开发中,DataGrid 是一种常用的UI组件,用于展示数据列表,并提供了一系列的功能,如排序、过滤等。有时,为了增加用户交互性或实现特定功能,...
在Flex开发中,Datagrid是一种常用的组件,用于展示数据表格。在特定场景下,我们可能需要根据数据的状态或用户交互动态地改变Datagrid中的行颜色,以提供更好的视觉反馈和用户体验。下面将详细介绍如何在Flex中实现...
在Flex 4中,`DataGrid` 是一种用于展示数据表格的组件,它允许开发者以网格形式展示数据。在处理日期字段时,我们可能需要将日期格式化为特定的样式以便用户更容易理解。本篇文章将深入讲解如何在Flex 4的`DataGrid...
3. **设置列数据**:通过遍历数据源,动态创建并添加DataGridColumn到DataGrid: ```actionscript for each (var column:Object in columns) { var dataGridColumn:DataGridColumn = new DataGridColumn(); ...