`

flex中datagrid添加超链接

    博客分类:
  • Flex
 
阅读更多
想要达到的效果如图中点击datagrid中第二列的任何一个值如“南京”、“杭州”就会触发一个事件,
http://dl.iteye.com/upload/attachment/609708/cae77eec-9c39-3aac-831a-31711fe78c1c.png
在datagrid中可使用 <mx:itemRenderer>
      <fx:Component>
       <mx:LinkButton />
      </fx:Component>
     </mx:itemRenderer>
但是 linkbutton所触发的事件如何才能调用到写在script中的方法呢。

使用outerDocument,就可以调用外部的函数,outerDocument 标识符将作用范围更改为查找文件或外部文档。

代码如下:
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
   xmlns:s="library://ns.adobe.com/flex/spark"
   xmlns:mx="library://ns.adobe.com/flex/mx" xmlns:supportClasses="com.esri.ags.skins.supportClasses.*" minWidth="955" minHeight="600" creationComplete="init()">
<fx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
import mx.controls.Alert;
import mx.events.FlexEvent;
[Bindable]
private var consProjects:ArrayCollection=new ArrayCollection 

([{name:'杭州',consOrgName:'中铁一局',projectStatus:'在建',tbOrgName:'建筑队4组',projectManager:'李建刚',projectCost:'3876M',buildingArea:'4000万平米'}, 

{name:'南京',consOrgName:'中铁四局',projectStatus:'在建',tbOrgName:'建筑队4组',projectManager:'李建刚',projectCost:'3876M',buildingArea:'4000万平米'}, 

]); 


protected function init(event:FlexEvent = null):void
{

}

public function clickEvent(o:Object):void{ 
Alert.show(o.consOrgName);        
}

]]>
</fx:Script>
<fx:Declarations>
<!-- 将非可视元素(例如服务、值对象)放在此处 -->
</fx:Declarations>
<s:Group width="100%" height="100%">
<s:VGroup width="100%" height="100%">
<s:HGroup width="100%" height="30">
</s:HGroup>
<mx:DataGrid width="100%" dataProvider="{consProjects}">
<mx:columns>
<mx:DataGridColumn headerText="序号" sortable="false" resizable="false" textAlign="center" editable="false" width="40"/>
<mx:DataGridColumn headerText="XXXX" dataField="name">
<mx:itemRenderer> 
<fx:Component>
<mx:LinkButton label="{data.name}" color="red"  textDecoration="none"  click="outerDocument.clickEvent(data)"/>
</fx:Component> 
</mx:itemRenderer> 
</mx:DataGridColumn>
<mx:DataGridColumn headerText="XXXX" dataField="consOrgName"/>
<mx:DataGridColumn headerText="XXXX" dataField="projectStatus"/>
<mx:DataGridColumn headerText="XXXX" dataField="tbOrgName"/>
<mx:DataGridColumn headerText="XXXX" dataField="projectManager"/>
<mx:DataGridColumn headerText="XXXX" dataField="projectCost"/>
<mx:DataGridColumn headerText="XXXX" dataField="buildingArea"/>
</mx:columns>
</mx:DataGrid>
</s:VGroup>
</s:Group>
</s:Application>
  • 大小: 10.9 KB
分享到:
评论

相关推荐

    flex实现边框

    本篇文章将详细解释如何使用Flex来实现边框以及添加标题,并重点关注在标题框中显示文本的实现方法。 首先,我们需要了解Flex中的容器和组件。容器是Flex应用程序的基础,它们可以包含一个或多个组件,如按钮、文本...

    as3 datagrid flash 自定义检索程序

    AS3 Datagrid Flash 自定义检索程序是一个用于展示和搜索数据的高级组件,广泛应用于Flash和Flex应用程序中。本文将深入探讨这个程序的核心知识点,包括AS3编程基础、XML数据源的处理、正则表达式应用、自定义...

    flex基本控件总结

    在Flex中,控件是构建用户界面的基本元素,本篇文章将深入探讨Flex的基本控件,包括文本控件、数据源控件以及菜单控件等。 首先,我们来看文本控件,主要包括Label、Text、TextInput和TextArea。 1. Label(标签)...

    Flex常规控件和组件

    在 Flex 中,控件和组件是构建用户界面的基本元素,它们提供了多种功能和样式,以满足不同需求。下面将详细介绍这些常规的 Flex 控件和组件: 1. Button:Button 是最基本的动作触发器,用于响应用户的单击事件。它...

    C# 控件、数据类型、ADO.NET等命名规范

    在C#编程中,遵循良好的命名规范对于代码的可读性和维护性至关重要。下面是一些常见数据类型的命名规则及其示例: - **Array (数组)**:简写为 `arr`。例如:`arrShoppingList` 表示购物列表。 - **Boolean (布尔值...

Global site tag (gtag.js) - Google Analytics