2008. 10. 24. 17:55

[FLEX] DataGrid column 선택방법

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
 <mx:Script>
  <![CDATA[
   import mx.events.ListEvent;
   import mx.collections.ArrayCollection;
   import mx.controls.Alert;
   
   [Bindable] private var flatData:ArrayCollection = new ArrayCollection([
    {no:"1", comments:"규칙1", nicname:"eth0", sipname:"sip01", dipname:"dip01", svcname:"ssh", svccode:"31", protoname:"tcp"},
    {no:"1", comments:"규칙1", nicname:"eth1", sipname:"sip02", dipname:"dip02", svcname:"telnet", svccode:"32", protoname:""},     
    {no:"1", comments:"규칙1", nicname:"eth2", sipname:"", dipname:"dip03", svcname:"ftp", svccode:"33", protoname:""},     
    {no:"1", comments:"규칙1", nicname:"eth3", sipname:"", dipname:"dip04", svcname:"", svccode:"", protoname:""}    
   ]);
   
   public function sel_data(col:String, row:uint):String{ 
       return flatData[row][col]; 
   } 
   
   public function itemClick(event:ListEvent):void{
    if(event.rowIndex >= 0){   
     Alert.show(sel_data(event.currentTarget.columns[event.columnIndex].dataField, event.currentTarget.selectedIndex));
    }
   }   
  ]]>
 </mx:Script>
 <mx:Panel x="10" y="10" width="1031" height="648" layout="absolute">
  <mx:DataGrid x="10" y="10" width="435" height="259" itemClick="itemClick(event)" dataProvider="{flatData}">
   <mx:columns>
    <mx:DataGridColumn headerText="Column 1" dataField="no"/>
    <mx:DataGridColumn headerText="Column 2" dataField="comments"/>
    <mx:DataGridColumn headerText="Column 3" dataField="nicname"/>
    <mx:DataGridColumn headerText="Column 3" dataField="sipname"/>
    <mx:DataGridColumn headerText="Column 3" dataField="dipname"/>
    <mx:DataGridColumn headerText="Column 3" dataField="svcname"/>
    <mx:DataGridColumn headerText="Column 3" dataField="svccode"/>
    <mx:DataGridColumn headerText="Column 3" dataField="protoname"/>
   </mx:columns>
  </mx:DataGrid>
 </mx:Panel> 
</mx:Application>