아.. 빨리도 한다. 소스 백업..;;



Function.as

//datagrid 에 콤보박스 넣는 부분

private function AddColums(addCount:int):void
{
 var columns:Array = setInitColumn(true);
 
 for(var i:int = 0; i < addCount; i++)
 {
  g_AllColumnArray.push({headerText:"항목선택", dataField:"", xmlIndex:g_ChildIndexOnXml} as Object);
  var col:DataGridColumn = new DataGridColumn("col" + i + 3);
  var colRender:ClassFactory = new ClassFactory(RendererComboBox);
  colRender.properties = {xmlIndex:g_ChildIndexOnXml};
  col.headerRenderer = colRender;
  col.width = 130;
  columns.push(col);
  g_ChildIndexOnXml++;
 }

 dataGrid.columns = columns;
}

//컬럼이 바뀌었을 때

public function columChanged(item:Object):void
{
 if(item != null) g_AllColumnArray[item.xmlIndex] = item;
}


RendererComboBox.mxml

<?xml version="1.0" encoding="utf-8"?>
<mx:HBox height="24" xmlns:mx="http://www.adobe.com/2006/mxml"
  horizontalAlign="center" verticalAlign="middle" horizontalScrollPolicy="off" creationComplete="initApp()">
 <mx:Script>
 <![CDATA[
   private var _xmlIndex:int;
 
  public function set xmlIndex(value:int):void
  {
   _xmlIndex = value;
  }
    
  public function get xmlIndex():int
  {
   return _xmlIndex;
  }

  private function Onchange():void
  {
   var item:Object = new Object();
     
   item.headerText = lvlLabel.selectedItem.label;
   item.dataField = lvlLabel.selectedItem.data;
   item.xmlIndex = _xmlIndex;
   parentDocument.columChanged(item);
  }
 
  private function initApp():void
  {
   lvlLabel.selectedIndex = 0;
  }
 ]]>
    </mx:Script>
 
    <mx:ComboBox width="100%" textAlign="left" id="lvlLabel" cornerRadius="0" height="100%" change="Onchange()">
     <mx:Object label="항목선택" data=""/>
     <mx:Object label="전자메일" data="emailId"/>
     <mx:Object label="회사" data="coNm"/>
     <mx:Object label="부서" data="coDept"/>
     <mx:Object label="직함" data="coHandle"/>
     <mx:Object label="우편번호(회사)" data="coZipCd"/>
     <mx:Object label="회사주소" data="coAddr1"/>
     <mx:Object label="회사전화" data="coTelNo"/>
     <mx:Object label="팩스" data="faxNo"/>
     <mx:Object label="우편번호(집)" data="homeZipCd"/>
     <mx:Object label="집주소" data="homeAddr1"/>
     <mx:Object label="집전화" data="homeTelNo"/>
     <mx:Object label="홈페이지" data="homepageUrl"/>
     <mx:Object label="메신저" data="messenger"/>
    </mx:ComboBox>
</mx:HBox>



크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기(0) 이올린에 추천하기(0)
2009/09/21 14:29 2009/09/21 14:29
TAG

트랙백 주소 :: http://www.evelyn.pe.kr/kor/trackback/142

댓글을 달아 주세요