我想为自定义MXDataGridItemRenderer设置alternatingItemColors,但似乎没有任何工作。我尝试过将应用程序,数据网格,渲染器等所有属性设置为true,否则将autoDrawBackground设置为true或false,而没有运气。最终,我正在寻找使用自定义itemRenderer(在标签后面有一组半透明基元)的方法,使用alternatingItemColors使行更易于阅读,但保持自定义渲染器的样式不变。任何建议,将不胜感激。如何让alternatingItemColors在spark MXDataGridItemRenderer中正常工作?
感谢, 〜尼
好吧,我不习惯的格式,并张贴回复等等,但我只是要追加原来的职位,希望为每个人工作好。 ..
所以,再次的itemRenderer:
<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"
minWidth="25" minHeight="25"
>
<!--- States -->
<s:states>
<s:State name="normal" />
<s:State name="hovered" />
<s:State name="selected"/>
<s:State name="disabled" />
</s:states>
<!--- TransparencyGroup_(=(-->
<s:Group
top="0" right="0" bottom="0" left="0"
alpha="0.7"
>
<!--- BaseRectOuter -->
<s:Rect
radiusX="5" radiusY="5"
top="0" right="0" bottom="0" left="0"
>
<s:fill>
<s:LinearGradient rotation="90">
<s:GradientEntry
color="0x333333"
/>
<s:GradientEntry
color="0x121212"
/>
</s:LinearGradient>
</s:fill>
</s:Rect>
<!--- BaseRectInner -->
<s:Rect
radiusX="5" radiusY="5"
top="1" right="0" bottom="1" left="0"
>
<s:fill>
<s:LinearGradient rotation="90">
<s:GradientEntry
color="0x222222"
/>
<s:GradientEntry
color="0x444444"
/>
</s:LinearGradient>
</s:fill>
</s:Rect>
<!--- InnerRect -->
<s:Rect
radiusX="4" radiusY="4"
top="2" right="2" bottom="2" left="2"
>
<s:fill>
<s:LinearGradient rotation="90">
<s:GradientEntry
color="0x000"
color.hovered="0x105562"
/>
<s:GradientEntry
color="0x333333"
color.selected="0x105562"
/>
</s:LinearGradient>
</s:fill>
</s:Rect>
<!--- InnerStroke -->
<s:Rect
radiusX="4" radiusY="4"
top="1" right="2" bottom="1" left="2"
>
<s:stroke>
<s:LinearGradientStroke rotation="90" weight="1">
<s:GradientEntry
color="0x000"
color.selected="0xCCCDDD"
/>
<s:GradientEntry
color="0x666666"
color.selected="0x000"
alpha="0.6"
/>
</s:LinearGradientStroke>
</s:stroke>
</s:Rect>
</s:Group>
<!--- _)=)-->
<!--- Label -->
<s:Label
id="lblData"
text="{dataGridListData.label}"
fontSize="12"
color="0xFFFFFC"
height="12"
left="12" right="12"
trackingLeft="20%"
verticalCenter="0"
mouseEnabled="false"
/>
</s:MXDataGridItemRenderer>
而这里的DataGrid中:
<mx:DataGrid
xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
rowHeight="30"
headerHeight="30"
fontFamily="Times New Roman"
fontSize="14"
textAlign="center"
paddingTop="2" paddingRight="0"
paddingBottom="2" paddingLeft="0"
verticalScrollPolicy="auto"
borderVisible="false"
dropShadowVisible="false"
rollOverColor="#01292B"
selectionColor="#000000"
chromeColor="#1D3A40"
alternatingItemColors="#FFFFFF, #000000"
>
<fx:Script>
<![CDATA[
import b_renderers.DGR_NameCol_01;
import b_renderers.DGItemRenderer_02;
import b_renderers.HeaderRenderer_01;
]]>
</fx:Script>
<mx:columns>
<mx:DataGridColumn
itemRenderer="b_renderers.DGR_NameCol_01"
headerRenderer="b_renderers.HeaderRenderer_01"
headerText="(|_ Name _|)"
dataField="name"
sortable="false"
width="285"
/>
<mx:DataGridColumn
itemRenderer="b_renderers.DGItemRenderer_02"
headerRenderer="b_renderers.HeaderRenderer_01"
headerText="Time"
dataField="time"
width="65"
/>
<mx:DataGridColumn
itemRenderer="b_renderers.DGItemRenderer_02"
headerRenderer="b_renderers.HeaderRenderer_01"
headerText="-| Genre |-"
dataField="genre"
width="165"
/>
</mx:columns>
</mx:DataGrid>
你怎么样分享您的itemRenderer一些代码,并可能DataGrid中。 – JeffryHouser 2011-05-03 00:04:11
这里是ItemRenderer: – BennyB23 2011-05-03 03:53:45
Woops,让我再试一次... – BennyB23 2011-05-03 03:58:53