Spark的最佳方法通常是皮肤。
有通过性能,如改变所选颜色不完善的控制:
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark">
<s:DataGrid selectionColor="0xff0000">
<s:dataProvider>
<s:ArrayList>
<fx:String>a</fx:String>
<fx:String>b</fx:String>
<fx:String>c</fx:String>
</s:ArrayList>
</s:dataProvider>
</s:DataGrid>
</s:Application>
要实现的的GridColumn项目渲染器,使用States
定义选定状态如何出现
GridColumnItemRenderer
<?xml version="1.0" encoding="utf-8"?>
<s:GridItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
clipAndEnableScrolling="true">
<s:states>
<s:State name="normal" />
<s:State name="selected" />
</s:states>
<fx:Script>
<![CDATA[
override public function prepare(hasBeenRecycled:Boolean):void
{
lblData.text = data[column.dataField]
}
]]>
</fx:Script>
<s:Label id="lblData"
color.selected="0x00ff00"
top="9"
left="7" />
</s:GridItemRenderer>
的DataGrid
的项目渲染以上是从星火的GridColumn规定,如:
<s:DataGrid>
<s:columns>
<s:ArrayList>
<s:GridColumn itemRenderer="GridColumnItemRenderer" />
</s:ArrayList>
</s:columns>
</s:DataGrid>
我认为我的解释是不好的,因为我的目标是不会改变颜色标签,如果单元格被选中。事实上,在我的梦中,项目是可编辑的,您只能选择单元格中的某些单词,并将特定样式应用于选定的文本部分。相比之下,文本可能像HTML文本一样存储在数据库中。 – Flex60460
您编辑的问题本质上是一个新问题,与您最初的问题完全不同。 –