C# wince 开发 Datagrid 怎样修改单元格颜色

最近刚入门在用C#做winCE开发,客户要求在表格展示的时候,把满足条件的单元格 改为红色,
我现在虽然数据集刚打开的时候可以改了,但是 如一拖动DATAGRID的滚出动条或一选中某一个单元格
颜色就立马消失了,搞了很长时间都没搞好,望大侠赐教,不甚感 谢!
我现在的代码都在 paint事 件里面,如下:

    private void dataGrid_Paint(object sender, PaintEventArgs e)
    {
        int i;           
        StringFormat sr = new StringFormat();
        sr.Alignment = StringAlignment.Near;
        for (i = 0; i < dataGrid.VisibleRowCount; i++)
        {
            if (Convert.ToDouble(dataGrid[i, 2]) > Convert.ToDouble(dataGrid[i, 3]))
            {
                string temp = dataGrid[i, 3].ToString();
                e.Graphics.FillRectangle(new SolidBrush(Color.White), dataGrid.GetCellBounds(i, 3));
                e.Graphics.DrawString(temp, new Font("Arial", 9, FontStyle.Regular), new SolidBrush(Color.Red), 
                                                           dataGrid.GetCellBounds(i, 3), sr);
            }
        }
   }