使用CellFormatting DataGridView事件格式化问题

时间:2013-03-01 02:35:58

标签: c# datagridview cell-formatting

以下是我遇到的问题:我有DataGridView(我们称之为A),其中列出了许多来自SqlDataReader的记录。此DataGridView填充在另一个网格的SelectionChanged事件中。如果网格A中第四列的日期今天大于(更新),我需要绘制行红色,否则它将行描绘为蓝色< /强>

以下是我在CellFormatting事件中实现的代码:

if (Convert.ToDateTime(dgvCREListaParcelas.CurrentRow.Cells[3].Value) > DateTime.Now)
        {
            e.CellStyle.BackColor = Color.Red;
        }
        else
        {
            e.CellStyle.BackColor = Color.LightBlue;
        }

我不知道为什么,但每当我点击网格中的任何一行,或者向下和向上滚动时,线条的颜色都会改变。不幸的是,我无法发布图片,因为我没有足够的分数来这样做!

有人能帮助解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

通过更改CellFormating事件中的以下行,我设法解决了这个问题: if(Convert.ToDateTime(dgvCREListaParcelas.CurrentRow.Cells [3] .Value)&lt; DateTime.Now)

要:

if(Convert.ToDateTime(dgvCREListaParcelas.Rows [e.RowIndex] .Cells [3] .Value)&lt; DateTime.Now)

感谢您的关注!