Beiträge getaggt mit datagrid

Farbe einer Reihe im DataGrid abhängig von Inhalt setzen

In ein DataGrid wird eine Liste mit Daten geladen, dabei sind die Datensätze entweder aktiv oder deaktiviert, was durch 1 bzw. 0 in dem Feld active dargestellt wird. In dem DataGrid soll das so dargestellt werden, dass die Textfarbe der Einträge mit active=0 etwas blasser ist, als die Farbe der anderen Einträge. Eine lange Recherche ergab, dass man dieses nur mit Hilfe eines Item Renderers lösen kann.

MXML DataGrid:

<mx:DataGrid dataProvider="{filterData}">
	<mx:columns>
		<mx:DataGridColumn dataField="name" headerText="Name"
			itemRenderer="classes.ActiveItemRenderer" />
	</mx:columns>
</mx:DataGrid>

Dann im Ordner/Package classes die Klasse ActiveItemRenderer als Ableitung von Label anlegen und das setzen:

package classes
{
	import mx.controls.Label;
 
	public class ActiveItemRenderer extends Label
	{
		public function ActiveItemRenderer()
		{
			super();
		}
 
		override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void {
			super.updateDisplayList(unscaledWidth, unscaledHeight);
 
 			if(data.active == 0) {
				setStyle("color", 0x999999);
			}
		}
 
	}
}

Quelle: Formatting a flex datagrid control using a custom item renderer
Das hier habe ich aber auch gefunden:
How to change datagrid’s row background color
Changing text color in a datagrid using item renderers

Tags: ,

Geschrieben in flash/flex | Kommentare deaktiviert für Farbe einer Reihe im DataGrid abhängig von Inhalt setzen