2009-01-29 2 views
1

Я знаю, что AdvancedDataGrid имеет обратный вызов styleFunction, но я не хочу менять стиль; Я хочу, чтобы itemRenderer получил глобальный стиль, который использует все остальное (включая обычные столбцы).Flex AdvancedDataGrid: MXML ItemRenderers не соответствуют стандарту по умолчанию

Мои визуализаторы строк в строке используют стиль по умолчанию, но не те, которые я создал как отдельные классы MXML (они расширяют Canvas).

Любой дескриптор, который мне нужен, чтобы развернуть стиль в моем рендерере элементов?

Thanks

ответ

1

Я не думаю, что вы можете распространять. Кажется, что styleFunction для чего-то совершенно другого. Но вы можете получить доступ к любому CSS свойство

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

, а затем:

styleDecl.getStyle(property); 

Если вы хотите, чтобы получить декларацию стиля непосредственно от AdvancedDataGrid вы должны получить Renderers ListData:

<?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; стиль этого компонента не был дефолтным для глобального стиля.