2016-09-16 10 views
0

Я хотел бы знать, как я могу изменить цвет фона элемента datagrid! Я использую внешний CSS и со шлейфом 4.6 я использую:Styling Apache DataGrid в flex 4.15

s|ItemRenderer 
{ 
    contentBackgroundColor: #FF0000; 
} 

Но я должен обновить Apache Flex 4.15 и больше не работает ... Я не могу найти какой компонент я полагаю, к стилю. В документации я не могу найти список доступных стилей T_T.

Если у вас есть ссылка или ответ thx!

+0

ли MX или Спарк DataGrid? Вы пытались GridItemRenderer вместо ItemRenderer? – Nemi

ответ

0

В документации Adobe Flex говорят:

Элемент визуализации связан с колонной управления DataGrid. Затем рендерер элемента управляет внешним видом каждой ячейки в столбце. Тем не менее, каждый элемент рендеринга элемента имеет доступ к элементу данных для всей строки элемента управления DataGrid. Используйте свойство data средства визуализации элементов для доступа к элементу данных.

Попробуйте выполнить это с помощью ItemRenderer для всех столбцов, которые вы можете сделать это в MXML способом или путем смешивания MXL с кодом сценария действий, как применение стиля для известной колонки:

<mx:DataGrid x="29" y="303" width="694" height="190" dataProvider="{testData.book}" variableRowHeight="true"> 
<mx:columns> 
    <mx:DataGridColumn headerText="Title" dataField="title"> 
     <mx:itemRenderer> 
      <mx:Component> 
       <mx:HBox paddingLeft="2"> 
        <mx:Script> 
        <![CDATA[ 
         override public function set data(value:Object) : void { 
          super.data = value; 
          var today:Number = (new Date()).time; 
          var pubDate:Number = Date.parse(data.date); 
          if(pubDate > today) setStyle("backgroundColor",0xff99ff); 
          else setStyle("backgroundColor",0xffffff); 
         } 
        ]]> 
        </mx:Script> 
        <mx:Image source="{data.image}" width="50" height="50" scaleContent="true" /> 
        <mx:Text width="100%" text="{data.title}" /> 
       </mx:HBox> 
      </mx:Component> 
     </mx:itemRenderer> 
    </mx:DataGridColumn> 
</mx:columns> 

или в отдельном классе сценариев действий, исключая содержимое тега сценария, упомянутого в классе сценария действия, расширяющего тип столбца и переопределяющий набор данных, например:

public class CheckBoxHeaderRenderer extends CheckBox 
{ 
    override public function set data(value:Object):void 
{ 
    _data = value as CheckBoxHeaderColumn; 
    selected = _data.selected; 
    //type your condition here using the property of your dataField 
    if(data.property=="value"){ 
    this.styleName="yourClassCSSName" 
    } 
} 

и ваш класс CSS будет как:

.yourClassCSSName{ 
contentBackgroundColor: #FF0000; 
} 

больше: Understanding Flex itemRenderers

Creating item renderers and item editors for the Spark DataGrid control

 Смежные вопросы

  • Нет связанных вопросов^_^