【问题标题】:DataGridView Row Background Color resettingDataGridView 行背景颜色重置
【发布时间】:2014-08-06 11:46:06
【问题描述】:

我想为我的 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

编辑:这是一张图片,显示了我希望我的行如何显示,在集合之间交替颜色,例如,灰色是奇数集颜色,浅蓝色是偶数集颜色。 p>

【问题讨论】:

    标签: c# vb.net winforms datagridview


    【解决方案1】:

    您可能希望检查此属性而不是手动进行:

    【讨论】:

    • 感谢您的帮助,虽然我需要某些具有不同背景颜色的不同数字集,但我会在其中包含更多代码,例如,有 4 行具有相同的背景颜色,然后2 行,两组之间有交替的背景颜色。除非我读错了您链接的内容,否则这只适用于在每行之间交替
    • @polixu:这个if (bordercolor % 2 == 1) 意味着你有交替的行。如果这不是您想要的,请解释一下,并可能在您的问题中添加一些图片。
    • 根据您的建议,我添加了一个带有我出色的 mspaint 技能的 imgur 链接,以显示我希望我的行如何显示,对于 if (bordercolor % 2 == 1),bordercolor 只会增加一旦再次调用该方法。因此,在此方法调用期间的每次添加(可以从 2-5 行开始)都将具有相同的颜色。再次感谢您的宝贵时间。
    • @polixu:好的,感谢您的更新。我编辑将图像直接包含在您的问题中。如果您正在设置自定义样式(固定,与行索引等无关),请尝试遍历单元格并在行上设置Cell.Style,而不是DefaultCellStylemsdn.microsoft.com/en-us/library/…
    • 非常感谢,它运行良好,我想我必须调用它来更新我对数据视图所做的更改,删除它修复了我的问题。我还将实施你建议的关于迭代每个行。
    猜你喜欢
    • 2018-06-15
    • 1970-01-01
    • 2013-01-09
    • 2012-03-20
    • 2013-08-21
    • 1970-01-01
    • 2013-08-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多