- 浏览: 100476 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
chensong215:
无法获取到ProgressEvent中的bytesTotal
自定义DownloadProgressBar -
qq2464785999:
非常感谢。
测试后,发现要用相对路径的话,好像要这么写
va ...
Flex写XML文件
FLEX中使用AS动态创建DataGrid
2010年2月6日 17:48 查看评论(2) 分类:技术文章 Tags:as3 flex
初学FLEX时,需要在AS里动态生成DataGrid,结果搞了很久才搞明白怎么把用MXML写出来的DataGrid改成用AS写出来,其中最主要的就是自定义itemEditor、itemRender怎么写,写篇东西整理总结下。
先看看下面这段代码:
查看源代码打印帮助01.<?xml version="1.0" encoding="utf-8"?>
02.<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
03.
<mx:Script>
04.
<![CDATA[
05.
import mx.collections.ArrayCollection;
06.
import mx.controls.DataGrid;
07.
import mx.events.ListEvent;
08.
[Bindable]
09.
private var dgDataArr:Array = [{name: "Jon", job: "officer"},
10.
{name: "James", job: "seller"},
11.
{name: "Jodon", job: "manager"}];
12.
13.
private function itemClickHandler(e:ListEvent):void
14.
{
15.
trace(e.target);
16.
}
17.
18.
]]>
19.
</mx:Script>
20.
<mx:Component id="comboboxEditor">
21.
<mx:ComboBox dataProvider="{dt}" editable="true">
22.
<mx:Script>
23.
<![CDATA[
24.
private var dt:Array = ["officer", "seller", "manager"];
25.
]]>
26.
</mx:Script>
27.
</mx:ComboBox>
28.
</mx:Component>
29.
<mx:DataGrid width="100%" x="10" y="20" fontSize="14" dataProvider="{dgDataArr}" editable="true" itemClick="itemClickHandler(event)">
30.
<mx:columns>
31.
<mx:DataGridColumn dataField="name" editable="false" />
32.
<mx:DataGridColumn dataField="job" itemEditor="{comboboxEditor}">
33.
</mx:DataGridColumn>
34.
</mx:columns>
35.
</mx:DataGrid>
36.</mx:Application>
代码实现的是创建一个DataGrid,其中job栏可以编辑,并且编辑器是自定义的一个ComboBox。效果如下:
现在看怎么用AS代替MXML创建同样的DataGrid。
1.先实现这一句:
查看源代码打印帮助1.<mx:DataGrid x="10" y="20" editable="true" width="100%" fontSize="14" dataProvider="{dgDataArr}" itemClick="itemClickHandler(event)"></mx:DataGrid>
写成AS大概是这样:
查看源代码打印帮助01.private function init():void
02.{
03.
var dgData:ArrayCollection = new ArrayCollection(dgDataArr);
04.
var dataGrid:DataGrid = new DataGrid();
05.
dataGrid.x = 10;
06.
dataGrid.y = 20;
07.
dataGrid.editable = true;
08.
dataGrid.percentWidth = 100;
09.
dataGrid.setStyle("fontSize", 14);
10.
dataGrid.dataProvider = dgDataArr;
11.
dataGrid.addEventListener(ListEvent.ITEM_CLICK, itemClickHandler);
12.
addChild(dataGrid);
13.}
可以看到,在MXML里统一使用XX=”"的形式,但写成AS却各有不同。我没看过书,刚开始也迷惑,怎么就不能dataGrid.fontSize = 14这样写呢。
看下文档,才知道,每个MXML组件后面的属性分三种:
1.Properties 正常属性,如x y width等,写成AS是 dataGrid.x = 10
2.Styles 样式属性,如fontSize backgroundColor等,需要通过setStyle()设置,如dataGrid.setStyle(“fontSize”, 14);,也可以通过设置其styleName属性绑定到页面的一个css里。如:
查看源代码打印帮助1.dataGrid.styleName = "datagrid";查看源代码打印帮助1.<mx:Style>
2.
.datagrid{
3.
fontSize:14;
4.
}
5.</mx:Style>
3.Events 事件属性,AS要使用事件侦听,itemClick=”itemClickHandler(event)”对应的是如dataGrid.addEventListener(ListEvent.ITEM_CLICK, itemClickHandler);。具体哪个属性对应哪个事件,就要查文档了。
其中width有点特殊,如果想设置百分比的宽度,不能用 dataGrid.width = “100%”,需要设置percentWidth,实际上在MXML设置width时如果有百分号,数值会传给percentWidth而不是width
还有一个属性比较特殊,就是dataProvider,它是一个实现ICollectionView接口的东西。如果传入的是Array,会自动转成ArrayCollection,如果是XMLList会转成XMLListCollection。这里直接传入一个ArrayCollection,是为了之后使用不同过滤函数时不用调用dataGrid.dataProvider而直接用dgData,如dgData.filterFunction = myFilterFunction
2.接下来添加列:
查看源代码打印帮助1.var columns:Array = new Array();
2.var col:DataGridColumn;
3.for ( var i:* in dgDataArr[0] ) {
4.
col = new DataGridColumn(i);
5.
if ( i == "name" ) col.editable = false;
6.
columns.push(col);
7.}
8.dataGrid.columns = columns;
这里只有两栏属性,用for in有点浪费了,这里只是示例。一般用AS写DataGrid都是动态生成的,数据也不确定,都用遍历添加栏。
3.最后就是使用ComboBox编辑。
传给itemRender和itemEditor都必须是一个实现IFactory接口的东西,IFactory接口很简单,只有一个newInstance()函数,DataGrid在渲染每一栏和每一栏的编辑器时都调用这个函数,返回一个新的渲染器。DataGrid默认的渲染器是DataGridItemRenderer,编辑的渲染器是TextInput。用下面的语句就可以把某一栏的编辑器设定为ComboBox:
查看源代码打印帮助1.var comboboxFactory:ClassFactory = new ClassFactory(ComboBox);
2.col.itemEditor = comboboxFactory;
ClassFactory是实现了IFactory接口的类,上面这样设定后,每次col这一栏编辑的时候就会调用comboboxFactory.newInstance()生成一个ComboBox实例。
如果就只是上面那样设置,结果就是编辑时跳出来的ComboBox没有值,也不允许编辑,怎样传值进去呢?
ClassFactory有个properties属性可以让你传值给每一个ComboBox:
查看源代码打印帮助1.comboboxFactory.properties = { dataProvider: ["officer", "seller", "manager"], editable: true };
编辑后,DataGrid会默认把编辑器的text属性值保存到dataProvider里,并传送到itemRender。如果这里的编辑器没有text属性,例如NumericStepper,就需要给栏目设定editorDataField属性,指定编辑后该去哪里取修改过的值。例如:col.editorDataField = “value”
如果想要有更大的自由度,也可以自己写一个实现IFactory接口的类,在newInstance()里返回一个实例就行了:
查看源代码打印帮助01.package
02.{
03.
import mx.controls.ComboBox;
04.
import mx.core.IFactory;
05.
public class CustomComboBox implements IFactory
06.
{
07.
private var customData:Array = ["officer", "seller", "manager"];
08.
public function CustomComboBox() { }
09.
public function newInstance():*
10.
{
11.
var combobox:ComboBox = new ComboBox();
12.
combobox.dataProvider = customData;
13.
combobox.editable = true;
14.
combobox.setStyle("fontWeight", "normal");
15.
return combobox;
16.
}
17.
}
18.}
然后给itemEditor一个实例:col.itemEditor = new CustomComboBox();
这样,文章开头的那个MXML写的DataGrid就全由AS生成了。完整代码:
查看源代码打印帮助01.<?xml version="1.0" encoding="utf-8"?>
02.<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" initialize="init()">
03.
<mx:Script>
04.
<![CDATA[
05.
import mx.controls.dataGridClasses.DataGridColumn;
06.
import mx.collections.ArrayCollection;
07.
import mx.controls.DataGrid;
08.
import mx.events.ListEvent;
09.
import mx.controls.ComboBox;
10.
[Bindable]
11.
private var dgDataArr:Array = [{name: "Jon", job: "officer"},
12.
{name: "James", job: "seller"},
13.
{name: "Jodon", job: "manager"}];
14.
15.
private function init():void
16.
{
17.
var dgData:ArrayCollection = new ArrayCollection(dgDataArr);
18.
dgData.filterFunction
19.
var dataGrid:DataGrid = new DataGrid();
20.
dataGrid.x = 10;
21.
dataGrid.y = 20;
22.
dataGrid.editable = true;
23.
dataGrid.percentWidth = 100;
24.
dataGrid.setStyle("fontSize", 14);
25.
dataGrid.styleName
26.
dataGrid.dataProvider = dgData;
27.
dataGrid.addEventListener(ListEvent.ITEM_CLICK, itemClickHandler);
28.
addChild(dataGrid);
29.
30.
var columns:Array = new Array();
31.
var col:DataGridColumn;
32.
for ( var i:* in dgDataArr[0] ) {
33.
col = new DataGridColumn(i);
34.
if ( i == "name" ) col.editable = false;
35.
if ( i == "job" ) {
36.
var comboboxFactory:ClassFactory = new ClassFactory(ComboBox);
37.
comboboxFactory.properties = { dataProvider: ["officer", "seller", "manager"], editable: true };
38.
col.itemEditor = comboboxFactory;
39.
}
40.
columns.push(col);
41.
}
42.
dataGrid.columns = columns;
43.
44.
}
45.
private function itemClickHandler(e:ListEvent):void
46.
{
47.
trace(e.target);
48.
}
49.
50.
]]>
51.
</mx:Script>
52.</mx:Application>
2010年2月6日 17:48 查看评论(2) 分类:技术文章 Tags:as3 flex
初学FLEX时,需要在AS里动态生成DataGrid,结果搞了很久才搞明白怎么把用MXML写出来的DataGrid改成用AS写出来,其中最主要的就是自定义itemEditor、itemRender怎么写,写篇东西整理总结下。
先看看下面这段代码:
查看源代码打印帮助01.<?xml version="1.0" encoding="utf-8"?>
02.<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
03.
<mx:Script>
04.
<![CDATA[
05.
import mx.collections.ArrayCollection;
06.
import mx.controls.DataGrid;
07.
import mx.events.ListEvent;
08.
[Bindable]
09.
private var dgDataArr:Array = [{name: "Jon", job: "officer"},
10.
{name: "James", job: "seller"},
11.
{name: "Jodon", job: "manager"}];
12.
13.
private function itemClickHandler(e:ListEvent):void
14.
{
15.
trace(e.target);
16.
}
17.
18.
]]>
19.
</mx:Script>
20.
<mx:Component id="comboboxEditor">
21.
<mx:ComboBox dataProvider="{dt}" editable="true">
22.
<mx:Script>
23.
<![CDATA[
24.
private var dt:Array = ["officer", "seller", "manager"];
25.
]]>
26.
</mx:Script>
27.
</mx:ComboBox>
28.
</mx:Component>
29.
<mx:DataGrid width="100%" x="10" y="20" fontSize="14" dataProvider="{dgDataArr}" editable="true" itemClick="itemClickHandler(event)">
30.
<mx:columns>
31.
<mx:DataGridColumn dataField="name" editable="false" />
32.
<mx:DataGridColumn dataField="job" itemEditor="{comboboxEditor}">
33.
</mx:DataGridColumn>
34.
</mx:columns>
35.
</mx:DataGrid>
36.</mx:Application>
代码实现的是创建一个DataGrid,其中job栏可以编辑,并且编辑器是自定义的一个ComboBox。效果如下:
现在看怎么用AS代替MXML创建同样的DataGrid。
1.先实现这一句:
查看源代码打印帮助1.<mx:DataGrid x="10" y="20" editable="true" width="100%" fontSize="14" dataProvider="{dgDataArr}" itemClick="itemClickHandler(event)"></mx:DataGrid>
写成AS大概是这样:
查看源代码打印帮助01.private function init():void
02.{
03.
var dgData:ArrayCollection = new ArrayCollection(dgDataArr);
04.
var dataGrid:DataGrid = new DataGrid();
05.
dataGrid.x = 10;
06.
dataGrid.y = 20;
07.
dataGrid.editable = true;
08.
dataGrid.percentWidth = 100;
09.
dataGrid.setStyle("fontSize", 14);
10.
dataGrid.dataProvider = dgDataArr;
11.
dataGrid.addEventListener(ListEvent.ITEM_CLICK, itemClickHandler);
12.
addChild(dataGrid);
13.}
可以看到,在MXML里统一使用XX=”"的形式,但写成AS却各有不同。我没看过书,刚开始也迷惑,怎么就不能dataGrid.fontSize = 14这样写呢。
看下文档,才知道,每个MXML组件后面的属性分三种:
1.Properties 正常属性,如x y width等,写成AS是 dataGrid.x = 10
2.Styles 样式属性,如fontSize backgroundColor等,需要通过setStyle()设置,如dataGrid.setStyle(“fontSize”, 14);,也可以通过设置其styleName属性绑定到页面的一个css里。如:
查看源代码打印帮助1.dataGrid.styleName = "datagrid";查看源代码打印帮助1.<mx:Style>
2.
.datagrid{
3.
fontSize:14;
4.
}
5.</mx:Style>
3.Events 事件属性,AS要使用事件侦听,itemClick=”itemClickHandler(event)”对应的是如dataGrid.addEventListener(ListEvent.ITEM_CLICK, itemClickHandler);。具体哪个属性对应哪个事件,就要查文档了。
其中width有点特殊,如果想设置百分比的宽度,不能用 dataGrid.width = “100%”,需要设置percentWidth,实际上在MXML设置width时如果有百分号,数值会传给percentWidth而不是width
还有一个属性比较特殊,就是dataProvider,它是一个实现ICollectionView接口的东西。如果传入的是Array,会自动转成ArrayCollection,如果是XMLList会转成XMLListCollection。这里直接传入一个ArrayCollection,是为了之后使用不同过滤函数时不用调用dataGrid.dataProvider而直接用dgData,如dgData.filterFunction = myFilterFunction
2.接下来添加列:
查看源代码打印帮助1.var columns:Array = new Array();
2.var col:DataGridColumn;
3.for ( var i:* in dgDataArr[0] ) {
4.
col = new DataGridColumn(i);
5.
if ( i == "name" ) col.editable = false;
6.
columns.push(col);
7.}
8.dataGrid.columns = columns;
这里只有两栏属性,用for in有点浪费了,这里只是示例。一般用AS写DataGrid都是动态生成的,数据也不确定,都用遍历添加栏。
3.最后就是使用ComboBox编辑。
传给itemRender和itemEditor都必须是一个实现IFactory接口的东西,IFactory接口很简单,只有一个newInstance()函数,DataGrid在渲染每一栏和每一栏的编辑器时都调用这个函数,返回一个新的渲染器。DataGrid默认的渲染器是DataGridItemRenderer,编辑的渲染器是TextInput。用下面的语句就可以把某一栏的编辑器设定为ComboBox:
查看源代码打印帮助1.var comboboxFactory:ClassFactory = new ClassFactory(ComboBox);
2.col.itemEditor = comboboxFactory;
ClassFactory是实现了IFactory接口的类,上面这样设定后,每次col这一栏编辑的时候就会调用comboboxFactory.newInstance()生成一个ComboBox实例。
如果就只是上面那样设置,结果就是编辑时跳出来的ComboBox没有值,也不允许编辑,怎样传值进去呢?
ClassFactory有个properties属性可以让你传值给每一个ComboBox:
查看源代码打印帮助1.comboboxFactory.properties = { dataProvider: ["officer", "seller", "manager"], editable: true };
编辑后,DataGrid会默认把编辑器的text属性值保存到dataProvider里,并传送到itemRender。如果这里的编辑器没有text属性,例如NumericStepper,就需要给栏目设定editorDataField属性,指定编辑后该去哪里取修改过的值。例如:col.editorDataField = “value”
如果想要有更大的自由度,也可以自己写一个实现IFactory接口的类,在newInstance()里返回一个实例就行了:
查看源代码打印帮助01.package
02.{
03.
import mx.controls.ComboBox;
04.
import mx.core.IFactory;
05.
public class CustomComboBox implements IFactory
06.
{
07.
private var customData:Array = ["officer", "seller", "manager"];
08.
public function CustomComboBox() { }
09.
public function newInstance():*
10.
{
11.
var combobox:ComboBox = new ComboBox();
12.
combobox.dataProvider = customData;
13.
combobox.editable = true;
14.
combobox.setStyle("fontWeight", "normal");
15.
return combobox;
16.
}
17.
}
18.}
然后给itemEditor一个实例:col.itemEditor = new CustomComboBox();
这样,文章开头的那个MXML写的DataGrid就全由AS生成了。完整代码:
查看源代码打印帮助01.<?xml version="1.0" encoding="utf-8"?>
02.<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" initialize="init()">
03.
<mx:Script>
04.
<![CDATA[
05.
import mx.controls.dataGridClasses.DataGridColumn;
06.
import mx.collections.ArrayCollection;
07.
import mx.controls.DataGrid;
08.
import mx.events.ListEvent;
09.
import mx.controls.ComboBox;
10.
[Bindable]
11.
private var dgDataArr:Array = [{name: "Jon", job: "officer"},
12.
{name: "James", job: "seller"},
13.
{name: "Jodon", job: "manager"}];
14.
15.
private function init():void
16.
{
17.
var dgData:ArrayCollection = new ArrayCollection(dgDataArr);
18.
dgData.filterFunction
19.
var dataGrid:DataGrid = new DataGrid();
20.
dataGrid.x = 10;
21.
dataGrid.y = 20;
22.
dataGrid.editable = true;
23.
dataGrid.percentWidth = 100;
24.
dataGrid.setStyle("fontSize", 14);
25.
dataGrid.styleName
26.
dataGrid.dataProvider = dgData;
27.
dataGrid.addEventListener(ListEvent.ITEM_CLICK, itemClickHandler);
28.
addChild(dataGrid);
29.
30.
var columns:Array = new Array();
31.
var col:DataGridColumn;
32.
for ( var i:* in dgDataArr[0] ) {
33.
col = new DataGridColumn(i);
34.
if ( i == "name" ) col.editable = false;
35.
if ( i == "job" ) {
36.
var comboboxFactory:ClassFactory = new ClassFactory(ComboBox);
37.
comboboxFactory.properties = { dataProvider: ["officer", "seller", "manager"], editable: true };
38.
col.itemEditor = comboboxFactory;
39.
}
40.
columns.push(col);
41.
}
42.
dataGrid.columns = columns;
43.
44.
}
45.
private function itemClickHandler(e:ListEvent):void
46.
{
47.
trace(e.target);
48.
}
49.
50.
]]>
51.
</mx:Script>
52.</mx:Application>
发表评论
-
flex 自定义多个命名空间以及标签名
2013-01-22 15:21 1336flex 自定义多个命名空 ... -
flex与flash之间相互调用
2012-12-12 12:39 628http://www.cnblogs.com/kaixuan/ ... -
Flex与Flex创建的swf通信
2012-12-12 10:16 733加载子SWF的Flex程序代码 <?xml vers ... -
[AS3]加载视频(FLV)文件
2012-12-06 15:11 863[AS3]加载视频(FLV)文件 分类: FLEX/CS3-- ... -
通过FileReference打开本地图片崩溃的解决方法
2012-12-06 14:02 719通过FileReference打开本地图片崩溃的解决方法 最近 ... -
使用FileReference的load()方法加载本地图片
2012-12-06 13:56 9371、要想使用FileReference的load()方法和da ... -
[AS3]Bitmap序列化(将BitmapData保存为原生Binary/ByteArray)
2012-12-06 13:48 760[AS3]Bitmap序列化(将BitmapData保存为原生 ... -
as3 画五角星算法
2012-12-05 16:49 2630as3 画五角星算法 阅读:10次 时间:2012-03- ... -
flex嵌入完整html
2012-11-29 11:18 815有时候我们需要在Flex应用中嵌入HTML代码,根据嵌入HTM ... -
flex4 textArea的htmlText属性
2012-11-29 11:13 3117它现在包含Text布局框架(Text Layout Frame ... -
Tooltip应用
2012-11-29 11:11 732创建ToolTip: var errorToolTip:To ... -
数据绑定显示问题
2012-10-27 12:11 681数据绑定实时变化。 XMLListCollection 可以变 ... -
待解决问题
2012-09-18 23:48 7231.仪表盘 2.渐变填充的使用 3.发光效果的完美运用 能在一 ... -
as3加载外部图片的两种方式
2012-09-09 11:46 1046package net.burchin.loading { ... -
公式as3
2012-09-06 18:13 0as3 1人收藏此文章, 我要收藏 发表于1年前(2011-0 ... -
Flex中多线程的实现
2012-09-06 10:49 3520破阵子_如是我闻 如是我闻。一时佛在舍卫国,祗树给孤独园.. ... -
自定义column renderer
2012-08-09 15:07 964<?xml version="1.0" ... -
drowshadowFilter
2012-08-09 15:05 678DropShadowFilter 类,在Flash中为各种对象 ... -
123123
2012-08-08 17:16 0http://www.oschina.net/code/sni ... -
flex 画面快照截图与显示
2012-08-08 11:32 1054一、对指定画面进行快 ...
相关推荐
在Flex开发中,数据网格...总结,这个Flex3示例展示了如何在DataGrid中嵌套复选框并实现全选功能,这对于构建交互式的数据管理界面至关重要。通过学习和实践,开发者可以创建更灵活、用户友好的数据操作界面。
总结,改变Flex DataGrid中某一行的背景颜色通常涉及自定义ItemRenderer、使用CSS样式或者监听事件。选择哪种方法取决于具体需求,如是否需要复杂逻辑、性能要求以及代码可维护性等因素。通过这些技术,我们可以使...
在本文中,我们将深入探讨如何在Flex中设置`DataGrid`的数据提供者(`dataProvider`),以便动态地填充数据。`DataGrid`是Adobe Flex中一个非常重要的组件,它用于显示和操作网格形式的数据。理解如何有效地设置数据...
`numLabel.as`可能是一个自定义的数字标签组件,用于在DataGrid中显示数值。在某些情况下,我们可能需要特定的数字格式或者额外的计算功能,因此创建一个自定义组件是很有必要的。 `DataGridText.mxml`和`...
总的来说,通过使用As3Xls库,Flex开发者可以方便地将Datagrid中的数据导出到Excel文件,满足用户的多种需求。虽然这个过程涉及到一些编码工作,但有了这个工具,你可以在不依赖服务器端的情况下实现客户端直接导出...
- 创建DataGrid对象:在MXML或ActionScript中声明DataGrid。 - 数据源绑定:将数据集合绑定到DataGrid的dataProvider属性,可以是ArrayCollection、XMLListCollection等。 - 定义列:通过Columns属性定义DataGrid...
8. **XML存储数据**: ML(可能是XML的误写)是常用的数据存储格式,特别适合在Flex中使用,因为它可以轻松地与ActionScript相互操作。在本例中,XML可能被用作数据源,提供播表的节目信息。 综上所述,这个项目可能...
本知识点将详细介绍如何在Flex 4.5环境中将Excel和CSV文件导入到DataGrid中,以及如何自定义DataGrid选中行的右键菜单,从而提升用户界面的交互性和实用性。 首先,我们需要了解Flex 4.5中的DataGrid组件。DataGrid...
检索结果将在Datagrid中实时更新,提供高效的用户体验。 Datagrid是Flex框架中的一个核心组件,它用于展示二维表格数据。自定义Datagrid列及列头意味着开发者可以根据需求调整列的显示样式,如宽度、字体、颜色等。...
1. Flex项目源代码,可能包括.mxml和.as文件,用于创建DataGrid及相关的数据绑定逻辑。 2. Java源代码,可能包括服务端处理请求并返回数据的类。 3. 配置文件,如BlazeDS的配置文件(services-config.xml),用于...
"flex datagrid中数据列合计"这个主题涉及到在Flex DataGrid中实现数据列的总计功能,这通常是为了帮助用户快速理解数据集的整体趋势或进行数据分析。在Flex中,我们可以通过自定义组件和操作数据提供者来实现这一...
DataGrid会根据这个数据提供者来动态创建行,并显示其中的数据。每个单元格可以通过指定itemRenderer来自定义其外观和行为,这为我们提供了高度的定制化能力。 ### 二、全选和全不选的实现 #### 1. 定义列和渲染器...
这可以通过在MXML中使用`itemRenderer`属性或者在ActionScript中使用`setStyle("itemRenderer", MyCustomRenderer)`来完成。 4. **数据绑定** 数据绑定是项目渲染器的核心部分,它使得渲染器可以根据数据模型的...
这个教程将详细解释如何在Flex的DataGrid中动态添加复选框,并通过一个名为`DataGridDemo`的示例项目来演示这一过程。 首先,我们需要了解Flex中的DataGrid组件。DataGrid是基于MX组件库的一个控件,它能够与数据...
首先,需要将DataGrid中的数据转换成二维数组,然后利用AS3XLS库的API创建一个工作簿对象,添加工作表,并将数据写入工作表。最后,通过Flash Player的FileReference类,可以触发文件保存对话框,让用户选择保存位置...
标题中的"Flex+as3.0源码"意味着你可能获得了一组使用Flex框架和AS3.0编写的程序源代码。这些源码可以用来学习Flex和AS3.0的开发技巧,理解如何将这两者结合创建交互式的Web应用。通过查看源码,你可以深入研究Flex...
例如,当用户在DataGrid中选择一行数据时,我们可以使用HTTPService发送该行数据的ID到服务器,获取更详细的信息,并更新其他UI组件。 在提供的“flex说明示例”压缩包中,你可以找到具体的代码实现,这将帮助你更...
下面将详细介绍如何在Flex中使用ActionScript来动态调用RemoteObject类,并给出一个简单的示例。 #### 一、基本概念 1. **RemoteObject**:Flex中的RemoteObject类是用于远程调用服务器端服务的对象。它可以调用...
这个主题涉及到如何将Flex Datagrid中的数据保存到Excel文件,以及从Excel文件读取数据。在实际业务场景中,这样的功能常常用于数据导入导出,提高用户的工作效率。 首先,让我们了解一下Flex Datagrid的基本概念。...
要创建一个itemRenderer,首先需要创建一个新的MXML或AS3类,该类继承自Flex的UIComponent或其他组件类,比如Canvas或Label。然后在类中定义并实现如何根据数据对象来构建和更新界面元素。 2. **注册itemRenderer*...