Flex 列表控件

1.列表控件标签

<mx:List>

常用属性:

除继承ListBase类的属性外,还包括如下常用属性:

在editedPosition属性中,条目编辑的位置通常为行和列的序号,如{columnIndex:0,rowIndex:3}。列表控件的序号都是从0开始。

2.列表控件事件:

列表控件的事件除继承ListBase类的事件外还包括编辑时的事件。

itemEditBegin:当对条目进行编辑,即editedItemPosition属性被赋值时,触发该事件。该事件表明条目处于准备被编辑的状态。

itemEditBeginning:用户单击条目时进入itemEditBegin状态,在用户释放鼠标时,触发该事件,进入条目编辑状态。

itemEditEnd:完成条目编辑。当编辑后的数据从条目编辑器中保存到数据提供器中时,触发该事件。

itemFocusIn:当鼠标焦点停留在条目渲染器时,触发该事件。

itemFocusOut:当条目渲染器失去鼠标焦点时,触发该事件。

scroll:如果控件中出现滚动条,则拖动滚动条时触发该事件。

(上述几个事件的事件对象类型均为mx.events.ListEvent)

3.创建列表控件

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
 3                        xmlns:s="library://ns.adobe.com/flex/spark"
 4                        xmlns:mx="library://ns.adobe.com/flex/mx" fontSize="14">
 5     <fx:Declarations>
 6         <!-- 将非可视元素(例如服务、值对象)放在此处 -->
 7
 8
 9     <fx:Model id="myPhone">
10         <!--定义列表控件所需的数据-->
11         <states>
12             <state label="诺基亚" data="nokia"/>
13             <state label="摩托罗拉" data="moto"/>
14             <state label="索爱" data="se"/>
15             <state label="三星" data="sum"/>
16             <state label="Palm" data="pal"/>
17             <state label="黑莓" data="bb"/>
18             <state label="联想" data="le"/>
19             <state label="其他" data="etc"/>
20         </states>
21     </fx:Model>
22 </fx:Declarations>
23
24     <mx:Panel title="列表控件例子" paddingTop="10" paddingBottom="10" paddingLeft="10" paddingRight="10" width="340">
25         <mx:Label text="选择手机品牌"/>
26         <!--定义列表控件,数据提供器为myPhone中state的内容,控件自动读取label标签内容显示-->
27         <mx:List id="source" color="blue" width="100%" height="100%"
28                        dataProvider="{myPhone.state}"
29                         rollOverColor="#80FF00"/>
30
31     </mx:Panel>
32 </s:WindowedApplication>

其中:rollOverColor="#80FF00"表示改变鼠标停留在条目上时条目高亮的颜色。

效果如图:

使用labelFunction属性时,该属性指向的方法有其固定的格式,方法的参数为列表中的条目,类型为Object,返回新定义的标签值,类型为String,代码如下:

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
 3                        xmlns:s="library://ns.adobe.com/flex/spark"
 4                        xmlns:mx="library://ns.adobe.com/flex/mx" fontSize="14">
 5     <fx:Script>
 6         <![CDATA[
 7             //定义列表数据标签显示的函数,参数为列表中条目
 8             //返回值为每个条目的label和data属性的组合
 9             public function myLabelFunc(item:Object):String{
10                return item.data + "," + item.label;
11             }
12         ]]>
13     </fx:Script>
14
15     <fx:Declarations>
16         <!-- 将非可视元素(例如服务、值对象)放在此处 -->
17
18
19     <fx:Model id="myPhone">
20         <!--定义列表控件所需的数据-->
21         <states>
22             <state label="诺基亚" data="nokia"/>
23             <state label="摩托罗拉" data="moto"/>
24             <state label="索爱" data="se"/>
25             <state label="三星" data="sum"/>
26             <state label="Palm" data="pal"/>
27             <state label="黑莓" data="bb"/>
28             <state label="联想" data="le"/>
29             <state label="其他" data="etc"/>
30         </states>
31     </fx:Model>
32 </fx:Declarations>
33
34     <mx:Panel title="列表控件例子" paddingTop="10" paddingBottom="10" paddingLeft="10" paddingRight="10" width="340">
35         <mx:Label text="选择手机品牌"/>
36         <!--定义列表控件,数据提供器为myPhone中state的内容,控件自动读取label标签内容显示-->
37         <mx:List id="source" color="blue" width="100%" height="100%"
38                        dataProvider="{myPhone.state}"
39                         rollOverColor="#80FF00" labelFunction="myLabelFunc"/>
40
41     </mx:Panel>
42 </s:WindowedApplication>

效果如图:

4.列表控件事件

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
 3                        xmlns:s="library://ns.adobe.com/flex/spark"
 4                        xmlns:mx="library://ns.adobe.com/flex/mx" fontSize="14">
 5     <fx:Script>
 6         <![CDATA[
 7
 8             import mx.controls.Alert;
 9             import mx.events.ListEvent;
10             //定义单击数据条目的方法
11             private function itemClickEvent(event:ListEvent):void{
12              mx.controls.Alert.show(event.target.selectedItem.label,"详细信息");
13             }
14             //定义鼠标在条目上滚动的方法
15             private function itemRollEvent(event:ListEvent):void{
16              detail.text="单击选定品牌";
17             }
18         ]]>
19     </fx:Script>
20
21     <fx:Declarations>
22         <!-- 将非可视元素(例如服务、值对象)放在此处 -->
23
24
25     <fx:Model id="myPhone">
26         <!--定义列表控件所需的数据-->
27         <states>
28             <state label="诺基亚" data="nokia"/>
29             <state label="摩托罗拉" data="moto"/>
30             <state label="索爱" data="se"/>
31             <state label="三星" data="sum"/>
32             <state label="Palm" data="pal"/>
33             <state label="黑莓" data="bb"/>
34             <state label="联想" data="le"/>
35             <state label="其他" data="etc"/>
36         </states>
37     </fx:Model>
38 </fx:Declarations>
39
40     <mx:Panel title="列表控件例子" paddingTop="10" paddingBottom="10" paddingLeft="10" paddingRight="10" width="340">
41         <mx:Label text="选择手机品牌"/>
42         <!--定义列表控件,数据提供器为myPhone中state的内容,控件自动读取label标签内容显示-->
43         <mx:List id="source" color="blue" width="100%" height="100%"
44                        dataProvider="{myPhone.state}"
45                         rollOverColor="#80FF00" itemClick="itemClickEvent(event)"
46                         itemRollOut="itemRollEvent(event)"/>
47
48     </mx:Panel>
49 </s:WindowedApplication>
时间: 2024-08-04 03:22:38

Flex 列表控件的相关文章

Flex 列表控件中的操作

主要操作包括:显示提示,使用图标,编辑列表条目中数据. 1.使用数据提示: 当鼠标停留在条目上时,可以显示该条目的相关数据提示. 当利用滚动条时,可以显示滚动条的相关提示. 在列表控件中使用showDataTips和showScrollTips属性指明是否显示条目提示和滚动条提示. 1 <?xml version="1.0" encoding="utf-8"?> 2 <s:WindowedApplication xmlns:fx="htt

如何控制通达OA的工作流表单列表控件的列输入框

通达OA的工作流表单列表控件只提供了从内部或外部数据源映射选择,但有时需要控制某些列不能输入,有些列录入后,带出其他列的数据,如下图 //通过存货编号取存货信息 function getinventory(cinvcode){ var resobj; jQuery.ajax({type:'POST', url:'/userext/index.php?c=workflow&m=getcinvname', data:{cinvcode:cinvcode}, success:function(res)

iOS开发--自定义列表控件

这两天项目比较闲,在空余之际,尝试自己实现列表控件.从动工到初步完成大概花了一天时间,目前实现了列表的简单功能,后续将考虑加入cell重用机制.惯性特征以及删除cell等功能.项目代码已经放到了github上,地址:https://github.com/wanglichun/CustomTableView. 在实现之前,需要了解列表控件的运行原理,我之前的一篇博客<列表控件实现原理解析>中有介绍.去年由于项目需要,使用lua语言自定义过双重列表(大列表嵌套小列表),这次改用objc实现,实现的

MFC可视化 列表控件的使用

1.应该加入头文件 #include <Atlbase.h> 2.示例 类向导给列表控件绑定变量m_list DWORD   dwExStyle=LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES|LVS_EX_HEADERDRAGDROP|LVS_EX_ONECLICKACTIVATE|LVS_EX_FLATSB; m_list.ModifyStyle(0,LVS_REPORT|LVS_SINGLESEL|LVS_SHOWSELALWAYS);m_list.SetEx

UWP开发必备:常用数据列表控件汇总比较

今天是想通过实例将UWP开发常用的数据列表做汇总比较,作为以后项目开发参考.UWP开发必备知识点总结请参照[UWP开发必备以及常用知识点总结]. 本次主要讨论以下控件: GridView:用于显示数据项的水平网格控件 ListView:用于显示数据项的垂直列表控件 ListBox:可选项列表控件 ItemsControl:用于显示数据项的列表控件.是其他控件的父类. Pivot:应用内部标签导航控件 FlipView:每次只显示一个数据项的控件,通过滑动切换数据项 SplitView:包含主视图

WPF自定义控件与样式(7)-列表控件DataGrid与ListView自定义样式

一.前言 申明:WPF自定义控件与样式是一个系列文章,前后是有些关联的,但大多是按照由简到繁的顺序逐步发布的等,若有不明白的地方可以参考本系列前面的文章,文末附有部分文章链接. 本文主要内容: DataGrid自定义样式: ListView自定义样式: 二.DataGrid自定义样式 DataGrid是常用的数据列表显示控件,先看看实现的效果(动态图,有点大): DataGrid控件样式结构包括以下几个部分: 列头header样式 调整列头宽度的列分割线样式 行样式 行头调整高度样式 行头部样式

列表控件ListBox关联的MFC中的类:CListBox

######################################################## 1.在列表的结尾添加一项:AddString 2.在列表的指定位置添加一项:InsertString 3.获取列表中项的个数:GetCount 4.获取某项的文本:GetText 5.在单选列表控件中,获取与设置当前选中项:GetCurSel.SetCurSel 6.在列表项中查找指定的字符串:FindString.FindStringExact 7.删除列表中所有的项:ResetC

Android ListView列表控件的简单使用

ListView 列表是我们经常会使用的控件, 如果想要自定义里面的显示的话是挺麻烦的, 需要新建XML.Class SimpleAdapter这两个文件, 较为麻烦. 如果我们只是想显示两.三行文字在上面, 却又不想那么麻烦呢? 那我们只要新建一个XML就够了.  这里以显示一个ListView项里三个TextView为例.  首先我们要创建一个XML文件, 这个XML文件是用来作为单个ListView项布局用的.  list_row.xml[java]<?xml version="1.

图像列表控件

通过Create方法创建一个图像列表 m_ImageList.Create(32,32,ILC_COLOR24|ILC_MASK,1,0); 通过图像列表控件,可以直接将控件中的图像绘制到程序中.首先调用Create方法创建一个图像列表,然后调用Add方法向图像列表控件中添加图像. 最后调用Draw方法将图像列表中的图像绘制在指定的画布上. CImageList m_ImageList; m_ImageList.Create(IDB_BITMAP1,216,0,ILC_COLOR16|ILC_M