Okt 112006
 

Ich wollte bei einem DataGrid die Zeilen rot einfärben die eine gewisse
Bedingung erfüllen.
Das kann man gut im ItemCreated Event des DataGrid machen.

Da ich ein ArrayList mit einem eigenen Typ dran gebunden habe
komme ich auch einfach an die Infos.

Die Methode sieht etwa so aus.

private void Interviews_ItemCreated(object sender, DataGridItemEventArgs e)
{
     
if(e.Item.ItemType == ListItemType.Item)
     {
          ListCall call = e.Item.DataItem 
as ListCall;

          if(call.IsRed)
          {
               e.Item.BackColor = Color.Red;
          }
     }
}

Funktioniert so weit so gut. Es gab aber immer mal wieder Zeilen
wo es nicht griff. Nach einigem Suchen viel mir dann auf, dass
es noch ein ListItemType.AlternatingItem gibt. Genau die fehlenden waren
von diesem Typ. Das kommt daher, weil ich ein AlternatingItemStyle definiert
habe.

So klappt es.

private void Interviews_ItemCreated(object sender, DataGridItemEventArgs e)
{
     
if((e.Item.ItemType == ListItemType.Item) || (e.Item.ItemType == ListItemType.AlternatingItem))
     {
          ListCall call = e.Item.DataItem 
as ListCall;

          if(call.IsRed)
          {
               e.Item.BackColor = Color.Red;
          }
     }
}

Sorry, the comment form is closed at this time.