2009-01-29 2 views
1

AdvancedDataGrid에 styleFunction 콜백이 있지만 스타일을 변경하고 싶지 않습니다. itemRenderer가 모든 항목 (일반 열 포함)이 사용하는 전역 스타일을 얻길 바란다.Flex AdvancedDataGrid : MXML ItemRenderers가 기본 스타일 기본값이 아닙니다.

인라인 항목 렌더러는 기본 스타일을 사용하지만 별도의 MXML 클래스로 만든 캔버스는 기본 스타일을 사용하지 않습니다 (Canvas를 확장 함).

스타일 렌더러에 스타일을 전파하기 위해 필요한 모든 핸들은 무엇입니까?

감사합니다.

답변

1

나는 전파 할 수 있다고 생각하지 않습니다. styleFunction은 완전히 다른 무언가를위한 것입니다. 당신이 AdvancedDataGrid에서 직접 스타일 선언을 얻고 싶은 경우에 당신이 렌더러에 listData 가야

styleDecl.getStyle(property); 

:하지만 당신은 어떤 CSS 속성 다음

var styleDecl:CSSStyleDeclaration = StyleManager.getStyleDeclaration("YourTagOrClassName"); 

및 액세스 할 수 있습니다

<?xml version="1.0" encoding="utf-8"?> 
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" 
    implements="mx.controls.listClasses.IDropInListItemRenderer"> 

    <mx:Script> 
     import mx.controls.dataGridClasses.DataGridListData; 
     import mx.controls.listClasses.BaseListData; 
     [Bindable("dataChange")] private var _listData : BaseListData; 
     public function get listData():BaseListData 
     { 
      return _listData;    
     }     
     public function set listData(value : BaseListData) : void 
     { 
      _listData = value; 
     } 
     override public function set data(value:Object):void 
     { 
      super.data = value; 
      if (this.listData) 
       ((this.listData as DataGridListData).owner as AdvancedDataGrid).getStyle(...); 
     } 
    </mx:Script> 

</mx:Canvas> 
0

내 불량

ADG에서 스타일을 선택했습니다. 해당 구성 요소의 스타일이 전역 스타일로 기본값으로 설정되지 않았습니다.

관련 문제