Заголовок Flex DataGrid Стиль цвета не работает - PullRequest
1 голос
/ 16 июня 2010

Я пытаюсь изменить цвет заголовка сетки данных, отредактировав стиль headerColor.Я мог бы изменить размер шрифта, семейство шрифтов и т. Д., Кроме headerColor.Кто-нибудь мне поможет?Большое спасибо.

Мой код

Mxml

<mx:DataGrid id="dataGrid" creationComplete="dataGrid_creationCompleteHandler(event)" dataProvider="{cityinfoResult3.lastResult}">
<mx:columns>
<mx:DataGridColumn headerText="Detail" dataField="detail"/>
<mx:DataGridColumn headerText="Name" dataField="name"/>
</mx:columns>
</mx:DataGrid>

Стиль

#dataGrid{
headerColors: #ff6600;    //everything works except this one. The color can't be                  
                          //changed?
rollOverColor: #33ccff;
textRollOverColor: #ffffff;
iconColor: #ff0000;
fontFamily: Arial;
fontSize:12;
dropShadowEnabled: true;
alternatingItemColors: #330099, #0000cc;
color: #ffffff;
borderColor: #ffffff;
}

Ответы [ 4 ]

1 голос
/ 07 марта 2012

Для mx DataGrid создайте новый скин mxml (s: SparkSkin) и скопируйте код mx.skins.spark.DataGridHeaderBackgroundSkin в свой пользовательский класс тем оформления.

Найдите фрагмент кода ниже и замените значения выбранными цветами.

<!-- layer 2: fill -->
<s:Rect left="0" right="0" top="0" bottom="0">
    <s:fill>
        <s:LinearGradient rotation="90">
            <s:GradientEntry color="0xFFFFFF" 
                             alpha="0.85" />
            <s:GradientEntry color="0xD8D8D8" 
                             alpha="0.85" />
        </s:LinearGradient>
    </s:fill>
</s:Rect>

В компоненте DataGrid наведите фоновую обложку заголовка на свой пользовательский скин:

<mx:DataGrid id="dataGrid" headerBackgroundSkin="assets.skins.CustomDataGridSkin">
1 голос
/ 16 июня 2010

В CSS Flex вы не хотите, чтобы скобки [] окружали ваши значения (хотя вы хотели бы , если бы вы делали это в обычном ActionScript).

Этоследует сделать трюк:

headerColors: #ff6600, #ff6600;

1 голос
/ 16 июня 2010

headerColors нужен массив из 2 элементов, чтобы нарисовать градиент. Если вам нужен сплошной цвет, держу пари, что-то вроде этого сработает:

headerColors: #ff6600, #ff6600 ; 
0 голосов
/ 07 марта 2012

Попробуйте это

dataGrid.setStyle("headerColors", ["red", "blue"]);
...