这次我来说明一下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
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