C# DataGridView行背景色重置
我想给dataGridview中的某些行上色,并使用下面的代码成功地实现这一点,但是一旦我向dataGridview中添加更多行,它们都会重置为白色 这段代码检查在datagridview中创建它的前一个集合中的所有行,并将它们涂成浅蓝色。 这些行由集合匹配,背景色指示哪些行在一起,每个集合在白色和蓝色之间交替 向datagridview添加另一组行会将datagridview中所有先前行的背景色重置为白色,我不知道为什么要重载某个事件?我不知所措 这是我改变任何事物颜色的唯一实例,我没有任何类型的事件被覆盖C# DataGridView行背景色重置,c#,vb.net,winforms,datagridview,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
List dgvr=new List();
foreach(dataTaken1.SelectedRows中的DataGridViewRow行)
{
//将第一个datagridview中的选定行添加到集合
}
foreach(dataTaken2.SelectedRows中的DataGridViewRow行)
{
//将第二个datagridview中的选定行添加到集合中
}
foreach(dgvr中的数据行)
{
dataTable1.Rows.Add(row);//这是绑定到datagridview的dataTable
dataTable1.AcceptChanges();
dataGridView1.Update();
}
如果(边框颜色%2==1)
{
foreach(dgvr中的数据行)
{
dataGridView1.Rows[dataTable1.Rows.IndexOf(row)].DefaultCellStyle.BackColor=Color.LightBlue;
}
}
bordercolor++;//确保下一组具有不同的背景色
编辑:这是一张图片,显示了我希望行的显示方式,在集合之间交替颜色,例如,灰色为奇数集合颜色,浅蓝色为偶数集合颜色
您可能希望检查此属性,而不是手动执行此操作:
Cell.style
,而不是DefaultCellStyle
。非常感谢,它工作得非常好,我想我必须调用它来更新我对dataview所做的更改,删除它修复了我的问题。我还将实现您建议的关于迭代每行的建议。