• 【设为首页】
  • 【收藏闪客居】
当前位置:主页>Flex>文章内容
  • AdvancedDataGrid应用 --- 自定义 ItemRenderer
  • 来源:riafan.com 作者:Flying 2008-10-05 【


这次我们主要讲述怎样使用项目渲染器(ItemRenderer)来进一步美化AdvancedDataGrid控件。

AdvancedDataGridItemRenderer类是AdvancedDataGrid控件的默认 项目渲染器。默认情况下,项目渲染器绘制与网格中各项相关联的文本。因为AdvancedDataGrid基于ListBase类,因此我们像创建其它 ListBase类控件的项目渲染器一样自定义项目渲染器。

和DataGrid控件类似,我们可以对AdvancedDataGrid控件的列使用项目渲染器,但最好的 方式是使用AdvancedDataGridRendererProvider实例,因为它定义了由AdvancedDataGrid 控件使用的单个项目渲染器的特征。使用AdvancedDataGridRendererProvider类的属性可配置 AdvancedDataGrid 控件中使用项目渲染器的位置、应跨的列数、深度、用于创建项目渲染器的实例的ItemRenderer IFactory等。

在本例中,我们自定了一个AdvancedDataGridItemRenderer项目渲染器,它将性别字 段数据渲染成表示性别的两张图片,而且该图片控件还有ToolTip功能。代码很简单,详见renderers\ADGItemRenderer.as。 我们还自定了AdvancedDataGridGroupItemRenderer项目渲染器,它只是简单地画了一个有边线的矩形,弥补了由于分组列跨多 列导致组项目之间没有边线的缺陷。详见renderers\ADGGroupItemRenderer。

本实例的难点在于怎样实现动态加载AdvancedDataGridRendererProvider实例。 我们在profile.xml中新增了columnSpan属性,它对应AdvancedDataGridRendererProvider实例的 columnSpan属性;新增renderer属性,它对应AdvancedDataGridRendererProvider实例的renderer 属性。renderer属性是项目渲染器的限定类名。因此可以使用getDefinitionByName()方法返回其参数指定的类的类对象引用来动态 加载AdvancedDataGridRendererProvider实例。

注意:在加载时我们还不得不声明相应的自定义的项目渲染器实例,不然会报错:Error #1065: 变量未定义。

点击此处查看本实例的效果,点击此处下载本实例的源码。

关于AdvancedDataGrid控件的美化就说这么多了,下次我们将讲解该控件的筛选功能。




上一篇:在FLEX里显示Video的问题   下一篇:Flex中通过监听ObjectProxy的propertyChange事件检测一个Object是否变化的例子
  • 用户名:新注册) 密码: 匿名评论
  • 评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)

Copyright © 2006-2008 flashas.net All Rights Reserved.
网站内容咨询: admin#flashas.net (#为@) 联系QQ:40777822 浙ICP备06033001号
(本网站最佳浏览解析度为1024*768, 建议使用IE 6.0或以上版本浏览器。)