Funcky cell formatting

I'm using DataGridView.CellFormatting to change the cell fore/back colors depending on data values - for some cells only. However, the grid get's draw with all sorts of garbage (see screen shot athttp://jonesie.net.nz/PermaLink,guid,38d829b6-8610-44c1-9227-96f11d38b2e0.aspx).

My code is thus:


privatevoid RosterGrid_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
ShiftCell sc = e.Valueas ShiftCell;
if (sc !=null && sc.RosteredShiftRow !=null)
{

if (!sc.RosteredShiftRow.ShiftRow.IsForegroundColorNull())
e.CellStyle.ForeColor = Color.FromArgb(sc.RosteredShiftRow.ShiftRow.ForegroundColor);
if (!sc.RosteredShiftRow.ShiftRow.IsBackGroundColorNull())
e.CellStyle.BackColor = Color.FromArgb(sc.RosteredShiftRow.ShiftRow.BackGroundColor);
e.Value = sc.ToString();
//e.FormattingApplied = true; // this makes no diff
}
}

What am I missing here?

[1645 byte] By [Jonesie] at [2007-12-16]