flex復(fù)選框和下拉列表的幾種用法整理
來源:易賢網(wǎng) 閱讀:694 次 日期:2014-09-05 14:26:45
溫馨提示:易賢網(wǎng)小編為您整理了“flex復(fù)選框和下拉列表的幾種用法整理”,方便廣大網(wǎng)友查閱!

這幾天接觸了flex的很多控件,讓我印象最深刻的就是控件的數(shù)據(jù)綁定幾乎所有控件都可以這樣做,基本上來說原理和html一樣,我自己閑暇時間就整理了有關(guān)復(fù)選框可下拉的幾種用法,下面就給大家分享一下。

1.復(fù)選框

這里我主要研究的該控件的全選,全不選,反選以及選中的操作,原理也就是也能用selected這個屬性,true表示選中,只需遍歷就能實現(xiàn),此處我使用的是動態(tài)的復(fù)選框,頁面代碼如下

代碼如下:

<mx:VBox top="50">

<mx:VBox>

<mx:Canvas width="100%" height="100%" >

<mx:Repeater id="rep" dataProvider="{array}">

<mx:CheckBox id="checkbox" label="{rep.currentItem.name}" x="{rep.currentItem.x}" data="{rep.currentItem.id}"/>

</mx:Repeater>

</mx:Canvas>

</mx:VBox>

<mx:VBox>

</mx:VBox>

</mx:VBox>

<s:Button x="90" y="81" label="全選" click="checkAll()"/>

<s:Button x="168" y="81" label="全不選" click="checkNotAll()"/>

<s:Button x="246" y="81" label="反選" click="reverse()"/>

剛看到可能比較陌生下面我把Array的定義貼出來

代碼如下:

public var array:Array=new Array({"name":"語文","id":"chinese","x":"80"},{"name":"數(shù) 學(xué)","id":"math","x":"160"},{"name":"英語","id":"english","x":"240"});

這種處理一般是用于動態(tài)的數(shù)據(jù),靜態(tài)的就直接寫了,下面是我的ActionScript

代碼如下:

//全選

private function checkAll():void{

for(var i:int=0;i<array.length;i++){

checkbox[i].selected=true;

all=all+checkbox[i].data+",";

}

Alert.show("選擇了:"+all.substr(0,all.lastIndexOf(",")));

all="";

}

//全不選

private function checkNotAll():void{

for(var i:int=0;i<array.length;i++){

checkbox[i].selected=false;

}

}

//反選

private function reverse():void{

for(var i:int=0;i<array.length;i++){

if(checkbox[i].selected){

checkbox[i].selected=false;

}else{

checkbox[i].selected=true;

}

}

}

很簡單吧,下面是下拉的使用,我的做法是先初始化下拉把數(shù)據(jù)綁定上去,之后根據(jù)需要修改下拉顯示的內(nèi)容,只需合理運(yùn)用好下拉的selectedItem就可以修改下拉選中的值了

代碼如下:

<mx:ComboBox id="subject" x="78" y="149" labelField="name" dataProvider="{array}"/>

下面是頁面加載的初始化方法

<PRE class=java name="code">public function init(event:Event):void{

for(var i:int=0;i<array.length;i++){

if("數(shù)學(xué)"==array[i].name){

subject.selectedIndex=i;

checkbox[i].selected=true;

}

}

}</PRE><BR>

這里我順便把數(shù)學(xué)的復(fù)選框弄成了默認(rèn)選中<BR>

看起來代碼有點(diǎn)亂,下面我把整個頁面代碼都貼出來<BR>

<PRE class=html name="code"><?xml version="1.0" encoding="utf-8"?>

<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"

xmlns:s="library://ns.adobe.com/flex/spark"

xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600" initialize="init(event)">

<fx:Declarations>

<!-- Place non-visual elements (e.g., services, value objects) here -->

</fx:Declarations>

<fx:Script>

<![CDATA[

import mx.controls.Alert;

public var all:String="";

public var array:Array=new Array({"name":"語文","id":"chinese","x":"80"},{"name":"數(shù) 學(xué)","id":"math","x":"160"},{"name":"英語","id":"english","x":"240"});

public function init(event:Event):void{

for(var i:int=0;i<array.length;i++){

if("數(shù)學(xué)"==array[i].name){

subject.selectedIndex=i;

checkbox[i].selected=true;

}

}

}

//全選

private function checkAll():void{

for(var i:int=0;i<array.length;i++){

checkbox[i].selected=true;

all=all+checkbox[i].data+",";

}

Alert.show("選擇了:"+all.substr(0,all.lastIndexOf(",")));

all="";

}

//全不選

private function checkNotAll():void{

for(var i:int=0;i<array.length;i++){

checkbox[i].selected=false;

}

}

//反選

private function reverse():void{

for(var i:int=0;i<array.length;i++){

if(checkbox[i].selected){

checkbox[i].selected=false;

}else{

checkbox[i].selected=true;

}

}

}

]]>

</fx:Script>

<mx:VBox top="50">

<mx:VBox>

<mx:Canvas width="100%" height="100%" >

<mx:Repeater id="rep" dataProvider="{array}">

<mx:CheckBox id="checkbox" label="{rep.currentItem.name}" x="{rep.currentItem.x}" data="{rep.currentItem.id}"/>

</mx:Repeater>

</mx:Canvas>

</mx:VBox>

<mx:VBox>

</mx:VBox>

</mx:VBox>

<s:Button x="90" y="81" label="全選" click="checkAll()"/>

<s:Button x="168" y="81" label="全不選" click="checkNotAll()"/>

<s:Button x="246" y="81" label="反選" click="reverse()"/>

<mx:ComboBox id="subject" x="78" y="149" labelField="name" dataProvider="{array}"/>

</s:Application>

</PRE><BR>

<BR>

<PRE></PRE>

<P></P>

<PRE></PRE>

<IMG alt="" src="http://img.blog.csdn.net/20130706214231250?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY2hlbndpbGwz/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center">

更多信息請查看IT技術(shù)專欄

更多信息請查看網(wǎng)絡(luò)編程
易賢網(wǎng)手機(jī)網(wǎng)站地址:flex復(fù)選框和下拉列表的幾種用法整理
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!

2025國考·省考課程試聽報名

  • 報班類型
  • 姓名
  • 手機(jī)號
  • 驗證碼
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 加入群交流 | 手機(jī)站點(diǎn) | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號
云南網(wǎng)警備案專用圖標(biāo)
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號:hfpxwx
咨詢QQ:526150442(9:00—18:00)版權(quán)所有:易賢網(wǎng)
云南網(wǎng)警報警專用圖標(biāo)