我尝试:dataGridView.Rows[0].Cells[4].Style.BackColor = Color.AliceBlue;
并且它工作正常但是如果我将项目添加到我的datagridview
我不知道我正在使用哪个行号。
这就是我向datagridview添加项目的方式:
public void addToDataGridView()
{
dataGridView.Rows.Add( "test1", fileName, fileSize, DateTime.Now, "myStatus");
}
答案 0 :(得分:2)
dataGridView.Rows.Add
方法为您提供添加的行的索引。
public void addToDataGridView()
{
int index = dataGridView.Rows.Add("test1", fileName, fileSize, DateTime.Now, "myStatus");
dataGridView.Rows(index).Cells(4).Style.BackColor = Color.AliceBlue;
}
答案 1 :(得分:1)
有多种方法可以做到这一点:
如果您需要更改整列的颜色:
DGV.Columns[ColumnIndexToColor].DefaultCellStyle.ForeColor = Color.AliceBlue;
如果您需要根据某些条件更改颜色并且您的DGV已绑定,则可以使用DataBindingComplete事件
private void DGV_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e)
{
if(DGV.Rows.Count>0 && DGV.Columns.Count>0)
{
foreach (DataGridViewRow r in DGV.Rows)
{
if(condition)
{
DataGridViewCheckBoxCell cell = r.Cells[ColumnIndexToColor];
cell.Style.BackColor = Color.AliceBlue;
}
}
}
}
如果您需要根据某些条件更改颜色并且您的DGV没有绑定:当您向DGV添加行时,如@Chris
答案 2 :(得分:0)
如果您使用的是dataGridView.Rows.Add(),则要添加行到dgw =>的结尾;它的索引将是dataGridView.Rows.Count - 1
编辑:
Chris的解决方案比使用dataGridView.Rows.Count - 1
您可以选择其他解决方案 - 您可以创建DataGridViewRow,您可以在其中设置样式等,然后只需将其添加到dgw。