所有的,我已经在我所有的Datagrid列上实现了HeaderRenderer。当我这样做,似乎所有默认DataGrid列标题样式正在丧失,例如:Flex 4 Datagrid s:MXDataGridItemRenderer问题 - 默认样式会丢失?
- 当我将鼠标悬停在列标题,在DataGrid默认是显示它在另一种颜色(同一颜色作为行选择颜色) - 现在不会发生这种情况。
- 当我点击列标题时,DataGrid中的默认值是以另一种颜色(与行选择颜色相同的颜色)显示它 - 现在不会发生这种情况。
我是否在我的s:MXDataGridItemRenderer中重新应用这些样式?如何做到这一点?
我的渲染器的代码如下...
<s:MXDataGridItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
focusEnabled="true">
<s:states>
<s:State name="none" />
<s:State name="asc" />
<s:State name="desc" />
</s:states>
<!-- border - bottom -->
<s:Rect bottom="0" right="0" left="0" height="1">
<s:fill>
<s:SolidColor color="0x9C9C9C" />
</s:fill>
</s:Rect>
<!-- border - top -->
<s:Rect top="0" right="0" left="0" height="1">
<s:fill>
<s:SolidColor color="0x9C9C9C" />
</s:fill>
</s:Rect>
<s:HGroup verticalAlign="middle" width="100%">
<s:HGroup horizontalAlign="left" width="100%" paddingLeft="5">
<s:Label id="lblData" width="100%"
top="0" left="5" right="0" bottom="0"
paddingTop="5" paddingBottom="5"
verticalAlign="middle"
color="black"
text="{dataGridListData.label}"
maxDisplayedLines="1"
/>
</s:HGroup>
<s:HGroup horizontalAlign="right" verticalAlign="middle" paddingRight="2" >
<s:Label id="lblcolCount"
top="0" left="0" right="0" bottom="0"
paddingTop="5" paddingBottom="5"
verticalAlign="middle"
color="black"
text="{colCount}" />
<mx:Image id="image_down" top="0" left="0" bottom="0"
source.asc="{GridColumnSortControlAscending}" verticalAlign="middle"
source.desc="{GridColumnSortControlDecending}"/>
</s:HGroup>
</s:HGroup>
<fx:Script>
<![CDATA[
[Bindable]
public var colCount:String = "";
]]>
</fx:Script>
我添加了Flex标签以使您的问题更受关注。 – 2011-05-26 15:10:09