我想在datagridview中设置指定Row的背景颜色。
我需要的是我有一个for循环(i=0;i<10;i++)
。在这个for循环中我写了逻辑
如
if(i=1)
{
//Want to Set Color For This Specified Row..
dataGridView1.SelectedRows[1].DefaultCellStyle.SelectionBackColor = Color.Yellow;
}
if(i=1)
{
//Want to Set Color For This Specified Row..
dataGridView1.SelectedRows[2].DefaultCellStyle.SelectionBackColor = Color.Blue;
}
if(i=1)
{
//Want to Set Color For This Specified Row..
dataGridView1.SelectedRows[3].DefaultCellStyle.SelectionBackColor = Color.Red;
}
但我没有得到预期的o / p。我希望你理解我的需要。请帮助我。
答案 0 :(得分:2)
您可以使用以下
,而不是使用DataGridview的SelectedRows
属性
dataGridView1.Rows[1].DefaultCellStyle.ForeColor = Color.Red;
因为SelectedRows
属性仅在用户选择了行时返回行,如果没有选择行,则代码将抛出异常。
编辑:
如果您有疑问,请提供示例代码,希望它能为您提供帮助。
for (int i = 0; i < 10; i++)
{
if (dataGridView1.Rows.Count > i)
{
if (i == 1)
dataGridView1.Rows[i].DefaultCellStyle.ForeColor = Color.Red;
else if (i == 2)
dataGridView1.Rows[i].DefaultCellStyle.ForeColor = Color.Blue;
else
dataGridView1.Rows[i].DefaultCellStyle.ForeColor = Color.Green;
}
}
答案 1 :(得分:1)
您可以处理数据网格的不同事件并设置单元格样式
的示例private void dgvStatus_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
if (e.ColumnIndex != color.Index)
return;
e.CellStyle.BackColor = Color.Red;
}