2010-06-16 66 views
1

我想通过编辑headerColor样式来更改datagrid标题的颜色。除了headerColor之外,我可以更改字体大小,字体系列等。有人会帮助我吗?非常感谢。Flex datagrid 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; 
} 

回答

1

headerColors需要为了绘制渐变的2项的阵列。如果你想要一个纯色的,我敢打赌,一些likethis会的工作:

headerColors: #ff6600, #ff6600 ; 
+0

泰再次帮助我。我试过你的代码,但它给了我风格的语法错误。我使用了“headerColors:#ff6600,#ffffff;”错误消失了,但颜色不能改变...... :( – FlyingCat 2010-06-16 02:51:31

+0

)如果你使用Halo主题,headerColors只支持Flex 4,所以你可能需要添加编译器参数-theme = $ {flexlib } /themes/Halo/halo.swc。一旦我做到了,颜色出现了。 – JeffryHouser 2010-06-16 12:34:36

+0

hm ...我相信我必须像下面那样添加它.. -locale en_US -theme = $ {flexlib}/themes/Halo/halo.swc。编译器给了我很多警告,说:“风格”borderColor“只支持类型'spark.component.panel'与主题spark”,并且不能呈现我的应用程序.... – FlyingCat 2010-06-16 14:31:59

1

在Flex的CSS,你不想在你的价值观括号[](虽然你想他们,如果你这样做在直接的ActionScript中)。

这应该做的伎俩:

headerColors: #ff6600, #ff6600;

+0

Ty ..但我已经尝试过我......但没有运气。 – FlyingCat 2010-06-16 14:32:46

0

试试这个

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

的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">