프로그래머의 삶 Programmer's Life/Flex3.0

DataProvider - 이것도 책...

Oliver's World 2008. 11. 3. 17:45
728x90
<?xml version="1.0" ENCODING="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" fontSize="11">
<!-- 데이터 처리 관련 컨트롤들이 사용할 데이터 정의  -->
 <mx:ArrayCollection id="myAC">
  <mx:Object label="사과" data="apple"/>
  <mx:Object label="포도" data="grape"/>
  <mx:Object label="체리" data="cehrry"/>
  <mx:Object label="멜론" data="melon"/>
 </mx:ArrayCollection>
 <mx:Panel title="Com..." width="600" height="426" paddingBottom="10" paddingLeft="10" paddingRight="10"
 paddingTop="10" horizontalAlign="left" fontSize="11" layout="absolute">
  <mx:Label x="10" y="10" text="ComboBox"/>
  <mx:Label x="134" y="10" text="DataGrid"/>
  <!--  콤보에서 선택하는 (change 이벤) 배열의 인덱스 값을 다른 컨트롤러에 연결  -->
  <mx:ComboBox id="cb" x="10" y="38" dataProvider="{myAC}" prompt="ComboBox"
  change="dg.selectedIndex=lst.selectedIndex=tlst1.selectedIndex=tlst2.selectedIndex=cb.selectedIndex "/>
  <!-- 데이타 그리드에서 선택하는 행의 인덱스 값을 다른컨트롤러에 연결처리-->
  <mx:DataGrid id="dg" x="134" y="39" dataProvider="{myAC}" width="204"
  change="cb.selectedIndex=dg.selectedIndex">
   <mx:columns>
    <mx:DataGridColumn headerText="과일"  dataField="label"/>
    <mx:DataGridColumn headerText="영문명" dataField="data"/>    
   </mx:columns>
  </mx:DataGrid>
  <!-- 리스트에서 선택하는 행의 인덱스 값을 다른 컨트롤러에 연결 처리 -->
  <mx:List id="lst" x="10" y="96" dataProvider="{myAC}"
  change="tlst1.selectedIndex=tlst2.selectedIndex=cb.selectedIndex=dg.selectedIndex=lst.selectedIndex" width="72"
  height="116"/>
  <mx:TileList id="tlst1" x="357" y="40" dataProvider="{myAC}" height="141"
  change="tlst2.selectedIndex=cb.selectedIndex=dg.selectedIndex=lst.selectedIndex=tlst1.selectedIndex"/>
  <mx:Label x="10" y="70" text="List"/>
  <mx:Label x="357" y="12" text="TileList"/>
  <!-- HorizontalList 에서 선택하는 아이템의 인덱스 값을 다른 컨트롤에 연결처리 -->
  <mx:HorizontalList id="tlst2" x="134" y="222" width="425" height="56" columnWidth="70"
  dataProvider="{myAC}" change="tlst1.selectedIndex=cb.selectedIndex=dg.selectedIndex=lst.selectedIndex=tlst2.selectedIndex"/>
  <mx:Label x="134" y="202" text="HorizontalList"/>
  <mx:Form x="10" y="296" width="250" height="100%">
   <mx:FormItem label="과일명">    
    <mx:TextInput id="fkName"/>
   </mx:FormItem>
   <mx:FormItem label="영문명">
    <mx:TextInput id="feName"/>      
   </mx:FormItem>  
  </mx:Form>
  <!-- 버튼을 누르면 myAC 에 데이타 추가  myAC는 다른 컨트롤과 바인딩되어 있기 떄문 전체적으로 아이템이 하나 더 추가됨  -->
  <mx:Button x="268" y="311" label="데이터추가"   height="54" click="myAC.addItem({label:fkName.text,
  data:feName.text})"/>
  <!-- 버튼 누르면 myAC데이터 삭제myAC는 다른 컨트롤과 바인딩되어 있으므로 전체적으로 아이템이 하나 더 삭제 -->
  <mx:Button x="367" y="311" label="데이터삭제" width="92" height="54" click="if(myAC.length>0) myAC.removeItemAt(myAC.length-1)"/>
 
 </mx:Panel> 
728x90