Flex控件List用法指南

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

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

Flex控件List

1.List控件简介

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

继承关系如下:

ListListBaseScrollControlBaseUIComponentFlexSpriteSprite

子类:

FileSystemList,Menu,Tree

2.Flex控件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" 
 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.

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

功能说明:

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

代码:

<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.
  • 28.

 

注:

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

4.属性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.用Flex控件List最大的问题在于,数据之间没有直线作间隔,不如LinkBar好看,这个问题待解决。#p#

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

功能说明:

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

代码:
 

<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.属性alternatingItemColors--指定Flex控件的交互底色

功能说明:

自定义Flex控件的交互底色

代码:

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

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

功能说明:

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

代码:

<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.
  • 16.

【编辑推荐】

  1. Flex控件工具大全
  2. 详解Flex控件拖动技术
  3. 技术前沿 看Flex客户端缓存技术如何使用
  4. 解析Flex全屏模式设置方法
  5. Flex内存泄露解决方法和内存释放优化原则

 

 

 

 

 

责任编辑:佚名 来源: csdn.net
相关推荐

2010-08-12 15:20:49

Flex Builde

2010-07-27 10:19:28

Flex

2010-08-09 12:42:16

Flex module

2010-08-04 14:07:59

Flex事件机制

2010-07-28 14:59:26

Flex字符串

2010-08-13 11:34:54

Flex自定义事件

2010-08-05 10:29:11

Flex效果

2010-08-03 10:40:29

Flex代码格式化

2010-08-13 12:54:20

Flex弹出窗口

2013-02-18 13:44:22

CSSSASSWeb

2010-07-26 17:09:00

Perl模块

2010-07-26 14:54:07

Perlsplit函数

2010-07-26 15:27:50

Perl foreac

2010-08-10 14:18:15

RationalFunFlex

2010-07-21 10:10:50

Perl split函

2010-08-16 15:11:02

DIV

2010-07-23 15:51:27

Perl开发工具

2010-07-19 15:25:39

Perl标量转换函数

2010-07-21 09:38:51

2010-08-12 13:59:37

FlexList控件
点赞
收藏

51CTO技术栈公众号