Flex List组件多选的操作

这次我来说明一下List组件的使用,主要是当multipleSelection的属性设为"true"的时候的技巧。 
 1.选择了多项条目后数据的读取,关键代码如下:
function getSelectedItems()
{
var selectItems:Array = state.selectedItems;
var iCount:Number = selectItems.length;
var xml:XML = new XML();
var rootElement:XMLNode = xml.createElement( "root" );
for( var i:Number = 0 ; i < iCount ; i++ )
{
var contentElement:XMLNode = xml.createElement( "state" );
var textElement:XMLNode = xml.createTextNode( selectItems.data );
contentElement.appendChild( textElement );
rootElement.appendChild( contentElement );
}
xml.appendChild( rootElement );
mx.controls.Alert.show( xml.toString() , 'Message');
}
  state是List组件的 id,在List组件里如果允许多选,那么被选定的那些条目会被存放在组件的selectedItems属性里,该属性是Object一个数组,每个元素的data属性对应该条目的值,后面的代码就是为了把结果显示出来而已,不解释了。
  2.根据后台发来的数据决定选项是否是选定状态,关键代码如下:
function initApp()
{
var selectedItems:Array = new Array();
var iCount:Number = state.length;
for( var i:Number = 0 ; i < iCount ; i++ )
{
if( state.getItemAt( i ).data == "AL" || state.getItemAt( i ).data == "AK" )
{
selectedItems.push( i );
}
}
state.selectedIndices = selectedItems;
}
  lenth属性保存了List 组件里数据条目的总数,循环使用getItemAt()方法遍历所有条目(这里假设后台发来的数据如果值是"AL"或者"AK"则设定为选定状态),如果值相等,则将该条目在List组件里的索引号保存到一个数组里面,最后将这个类型为数组的临时变量的值赋给List组件的selectedIndices 属性,操作完成
http://www.flashv8.com/html/Flashjiaocheng/FLASHzujian/20080514/934.html
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值