Change background color of specific rows where value in a cell matches the string “sample”.
1 | < fx:Script > |
2 | <![CDATA[ |
3 | import mx.core.ClassFactory; |
4 | import spark.skins.spark.DefaultGridItemRenderer; |
5 |
6 | private function test_itemRendererFunction(item:Object, column:GridColumn):ClassFactory { |
7 | if (item == null) { |
8 | return new ClassFactory(DefaultGridItemRenderer); |
9 | } else { |
10 | // if(item.d1=="sample") |
11 | if(item[column.dataField]=="sample") { |
12 | return new ClassFactory(GrayGridItemRenderer); |
13 | } else { |
14 | return new ClassFactory(DefaultGridItemRenderer); |
15 | } |
16 | } |
17 | } |
18 | ]]> |
19 | </ fx:Script > |
20 |
21 | < s:DataGrid > |
22 | < s:columns > |
23 | < s:ArrayList > |
24 | < s:GridColumn dataField = "d1" headerText = "h1" itemRendererFunction = "test_itemRendererFunction" ></ s:GridColumn > |
25 | < s:GridColumn dataField = "d2" headerText = "h2" itemRendererFunction = "test_itemRendererFunction" ></ s:GridColumn > |
26 | < s:GridColumn dataField = "d3" headerText = "h3" itemRendererFunction = "test_itemRendererFunction" ></ s:GridColumn > |
27 | </ s:ArrayList > |
28 | </ s:columns > |
29 | </ s:DataGrid > |
GrayGridItemRenderer.mxml
1 | <? xml version = "1.0" encoding = "utf-8" ?> |
2 | < s:GridItemRenderer xmlns:fx = "http://ns.adobe.com/mxml/2009" |
3 | xmlns:s = "library://ns.adobe.com/flex/spark" |
4 | xmlns:mx = "library://ns.adobe.com/flex/mx" clipAndEnableScrolling = "true" > |
5 | < fx:Script > |
6 | <![CDATA[ |
7 | override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void { |
8 | super.updateDisplayList(unscaledWidth, unscaledHeight); |
9 | if (data && data[column.dataField]!=''){ |
10 | lblData.text = data[column.dataField]; |
11 | } |
12 | } |
13 | ]]> |
14 | </ fx:Script > |
15 | < s:Rect top = "0" bottom = "0" right = "0" left = "0" > |
16 | < s:fill > |
17 | < s:SolidColor color = "#E0E0E0" alpha = "0.5" /> |
18 | </ s:fill > |
19 | </ s:Rect > |
20 | < s:Label id = "lblData" top = "7" left = "7" bottom = "5" color = "0x000000" alpha = "0.5" /> |
21 | </ s:GridItemRenderer > |