我试图使用此代码更改Background
中某行的DataGridView
。
DataGridViewRow row = (DataGridViewRow)dataGridView1.Rows[RowNumber].Clone();
row.Cells[1].Value = "Hey World";
row.BackColor = System.Drawing.Color.Gray;
但在第三行是这个错误:
'System.Windows.Forms.DataGridViewRow'不包含'BackColor'的定义,并且没有扩展方法'BackColor'接受类型'System.Windows.Forms.DataGridViewRow'的第一个参数可以找到(你错过了吗?) using指令或程序集引用?)
答案 0 :(得分:2)
您收到该错误是因为DataGridViewRow
没有此类属性。
您可以通过修改BackColor
来更改单行的DefaultCellStyle
:
dataGridView1.Rows[2].DefaultCellStyle.BackColor = Color.Gray;
您还可以将DataGridView
订阅到CellFormatting
事件并在其中放置一些逻辑以确定哪些行需要具有不同的背景颜色:
private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
if (e.RowIndex % 2 == 0)
e.CellStyle.BackColor = Color.Gray;
}
上面的代码会将每隔一行的背景颜色更改为灰色。
(这只是一个人为的例子,因为如果你真的想要交替的行颜色,你就要改变AlternatingRowsDefaultCellStyle属性。)