DataGridView行背景颜色重置

时间:2014-06-16 15:34:04

标签: c# vb.net winforms datagridview

我想在dataGridview中为某些行着色,并使用下面的代码成功完成,但是一旦我向datagridview添加了更多行,它们都会重置为白色。

此代码检查在datagridview中创建它的前一个集合中的所有行,并将它们涂成浅蓝色。 这些行由集合匹配,背景颜色表示哪些行在一起,每个集合在白色和蓝色之间交替。

向datagridview添加另一组行会将datagridview中所有先前行的背景颜色重置为白色,我不知道为什么,我应该重载某个事件?我不知所措。

这是我改变任何颜色的唯一例子,我没有任何类型的事件被覆盖。

List<DataRow> dgvr = new List<DataRow>();

foreach(DataGridViewRow row in dataTaken1.SelectedRows)
{
    // Adding selected rows from the first datagridview to the set
}

foreach (DataGridViewRow row in dataTaken2.SelectedRows)
{
    // Adding selected rows from the second datagridview to the set
}

foreach(DataRow row in dgvr)
{
    dataTable1.Rows.Add(row); // This is the dataTable that is bound to the datagridview
    dataTable1.AcceptChanges();
    dataGridView1.Update();
}

if (bordercolor % 2 == 1)
{
    foreach (DataRow row in dgvr)
    {
        dataGridView1.Rows[dataTable1.Rows.IndexOf(row)].DefaultCellStyle.BackColor = Color.LightBlue;
    }
}

bordercolor++; // ensures that the next set has a different background color

编辑:这是一张图片,展示了我希望我的行如何显示,各组之间的颜色交替,例如,灰色是奇数编号设置颜色,浅蓝色是偶数编号设置颜色。

enter image description here

1 个答案:

答案 0 :(得分:2)

您可能需要检查此属性,而不是手动执行此操作: