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
您編輯的問題本質上是一個新問題,與您最初的問題完全不同。 –