解析Flex中List控件属性和事件用法

开发 后端
本文向大家介绍一下Flex控件List的概念和用法,该Flex控件主要用于“竖向显示单列表数据项”。如果数据项过多,可以出现一个垂直滚动条。

你对Flex控件中的List控件的用法是否熟悉,这里向大家简单描述一下List的属性和事件,该控件主要用于“竖向显示单列表数据项”。如果数据项过多,可以出现一个垂直滚动条。

Flex中List控件用法

1.List控件简介

该控件主要用于“竖向显示单列表数据项”。如果数据项过多,可以出现一个垂直滚动条。

继承关系如下:

ListListBaseScrollControlBaseUIComponentFlexSpriteSprite

◆子类:

FileSystemList,Menu,Tree

2.List控件属性与事件

名称描述

editable数据是否可编辑,值为"false|true"
editedItemPositionitemrenderer的位置,默认值为"Nodefault"
editorDataField"text"
editorHeightOffset="0"
editorUsesEnterKey="false|true"
editorWidthOffset="0"
editorXOffset="0"
editorYOffset="0"
imeMode="null"
itemEditor="TextInput"
itemEditorInstance="Currentitemeditor"
rendererIsEditor="false|true" #p#


3.List控件属性DataProvider,LabelFunction--ArrayCollection数据源绑定并自定显示信息

功能说明:

绑定ArrayCollection类型数据源,并自定义控件上的显示信息

代码:

 

注:

1.如果要显示的信息直接是数据源中的一个属性的值,可使用下面代码指定
labelField="label"
labelField:指明显示roleList对象中的哪个属性,默认值是"label"


4.List控件的属性dataTipFunction--显示文字提示

功能说明:

鼠标指向每一个数据项,显示提示信息

dataTipFunction和showDataTips为父类ListBase的属性,具体参考《FLEX控件_ListBase》

代码:
 

<fx:Script> 
<![CDATA[  
//数据源参考上例  
privatefunctionmyDataTipFunction(value:Object):String{  
return(value.label+"::"+value.data);  
}  
]]> 
</fx:Script> 
<mx:Listidmx:Listid="lst_exam" 
width="30%" 
dataProvider="{roleList}" 
labelField="label" 
showDataTips="true" 
dataTipFunction="myDataTipFunction"/> 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.

注:

1.如果每一个数据项的提示信息恰好是另一个属性的值,则直接使用下面代码指定即可
dataTipField="data"//data表示roleList中的一个属性
2.mx:linkBar和mx:ButtonBar由于没有继承ListBase,因此不能使用这个方法,本人也没有找到具体方法实现本功能
3.用List控件最大的问题在于,数据之间没有直线作间隔,不如LinkBar好看,这个问题待解决。#p#

5.List控件属性wordWrap--如果文字过长,允许换行

功能说明:

如果显示的数据项的文字过长,控件默认为多余的文字不显示,本功能指定控件将过长的数据项换行显示

代码:
 

<fx:Script> 
<![CDATA[  
//数据源参考上例  
]]> 
</fx:Script> 
<mx:Listidmx:Listid="lst_exam" 
dataProvider="{roleList}" 
labelField="label" 
width="220" 
height="200" 
variableRowHeight="true" 
wordWrap="true"/> 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.

注:

1.利用wordWrap和variableRowHeight属性,指定过长的数据项自动换行

6.List控件属性alternatingItemColors--指定控件的交互底色

功能说明:

自定义控件的交互底色

代码:

 


7.List控件的事件itemClick--显示选中数据项的所有属性

功能说明:

先与数据源ArrayCollection绑定,当点击控件中的一个数据项时,显示该数据项的所有属性

代码:

<fx:Script> 
<![CDATA[  
//数据源参考上例  
protectedfunctionlst_exam_itemClickHandler(event:ListEvent):void  
{  
vart:List=event.currentTargetasList;  
Alert.show(t.selectedItem.label+"::"+t.selectedItem.data);  
}  
]]> 
</fx:Script> 
<mx:Listidmx:Listid="lst_exam" 
width="30%" 
dataProvider="{roleList}" 
labelField="label" 
itemClick="lst_exam_itemClickHandler(event)"/> 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.

 【编辑推荐】

  1. 常见Flex控件用法剖析
  2. Flex与Flash关系揭秘
  3. 学习总结 在Flex中如何嵌入Flex字体
  4. 揭开Flex正则表达式的神秘面纱
  5. Flex数据绑定及其使用频繁的几种情况 

<mx:ListalternatingItemColorsmx:ListalternatingItemColors="[#66FFFF,#33CCCC]".../> 
  • 1.

  <fx:Script> 
<![CDATA[  
importmx.collections.ArrayCollection;  
 
[Bindable]  
publicvarroleList:ArrayCollection  
=newArrayCollection([  
{label:"good",data:"isgood"},  
{label:"bad",data:"isbad"}  
]);  
privatefunctionlst_exam_getDispName(item:Object):String{  
varresult:String="";  
if(item.hasOwnProperty("label")){  
result+=item.label+",";  
}  
if(item.hasOwnProperty("data")){  
result+=item.data;  
}  
returnresult;  
}  
]]> 
</fx:Script> 
<mx:Listidmx:Listid="lst_exam" 
width="30%" 
dataProvider="{roleList}" 
labelFunction="lst_exam_getDispName" 
/> 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
责任编辑:佚名 来源: csdn.net
相关推荐

2010-07-30 10:13:38

Flex控件

2010-08-06 10:03:42

Flex事件

2010-08-05 09:05:14

Flex Button

2010-08-06 15:11:44

Flex界面控件

2010-08-12 09:25:35

Flex控件

2010-08-13 14:05:24

Flex事件机制

2010-08-13 09:21:12

FlexButton组件

2010-08-06 09:45:50

Flex事件机制

2010-07-29 14:39:35

Flex Alert.

2010-07-30 10:02:40

Flex验证控件

2010-08-13 09:11:11

LabelFlex

2010-08-09 11:14:36

Flex事件处理

2010-08-12 09:11:09

Flex弹出窗口

2010-08-04 13:23:29

Flex事件

2010-08-04 14:07:59

Flex事件机制

2009-08-18 13:41:40

WebBrowser控

2010-08-13 14:39:57

Flex布局

2010-08-06 09:56:06

Flex事件机制

2010-06-11 16:01:26

Windows Pho

2010-07-27 14:44:23

Flex Array
点赞
收藏

51CTO技术栈公众号