flex 체크 상자 와 드 롭 다운 목록 의 몇 가지 용법 정리

요 며칠 동안 flex 의 많은 컨트롤 을 접 했 습 니 다.가장 인상적 인 것 은 컨트롤 의 데이터 바 인 딩 이 거의 모든 컨트롤 이 이렇게 할 수 있다 는 것 입 니 다.기본적으로 원 리 는 html 와 같 습 니 다.저 는 여가 시간 에 체크 상자 가 내 려 갈 수 있 는 몇 가지 용법 을 정 리 했 습 니 다.다음은 여러분 께 공유 하 겠 습 니 다.1.콤 보 상 자 는 여기 서 제 가 주로 연구 하 는 이 컨트롤 의 전체 선택 입 니 다.모두 선택 하지 않 습 니 다.반 선택 과 선택 한 동작 입 니 다.원 리 는 selected 라 는 속성 을 사용 할 수 있 습 니 다.true 는 선택 을 표시 합 니 다.옮 겨 다 니 기만 하면 이 루어 집 니 다.여 기 는 동적 콤 보 상 자 를 사용 합 니 다.페이지 코드 는 다음 과 같 습 니 다
 
<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":" ","id":"math","x":"160"},{"name":" ","id":"english","x":"240"});
이런 처 리 는 보통 동적 인 데이터 에 사 용 됩 니 다.정적 인 것 은 바로 썼 습 니 다.다음은 제 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;
}

}
}
간단 하 죠?아래 는 드 롭 다운 사용 입 니 다.제 방법 은 드 롭 다운 을 초기 화하 고 데 이 터 를 연결 하 는 것 입 니 다.이후 필요 에 따라 드 롭 다운 디 스 플레이 내용 을 수정 하고 드 롭 다운 selected Item 을 합 리 적 으로 활용 하면 드 롭 다운 에서 선택 한 값 을 수정 할 수 있 습 니 다
 
<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(" "==array[i].name){

subject.selectedIndex=i;
checkbox[i].selected=true;
}
}

}</PRE><BR>
<BR>
, <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":" ","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(" "==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">

좋은 웹페이지 즐겨찾기