我要将数据表绑定到datagrid 我只想根据datatable行上的值更改特定行datagrid的颜色。我需要c#/ .net代码
答案 0 :(得分:2)
网格视图具有一种控制样式的属性层次结构。这里有一个很好的概述:
http://msdn.microsoft.com/en-us/library/1yef90x0.aspx
但最简单的说,您可以为未选择的行设置DataGridViewRow.DefaultCellStyle.BackColor
属性,为所选行设置DataGridViewRow.DefaultCellStyle.SelectionBackColor
属性。
答案 1 :(得分:2)
类似的东西:
this.dataGridView1.Rows[RowIndex].DefaultCellStyle.BackColor = Color.Yellow;
或者如果你想通过鼠标移动事件
private void DataGridView1_CellEnter(object sender, DataGridViewCellEventArgs e)
{
dataGridView1[e.ColumnIndex, e.RowIndex].Style.SelectionBackColor = Color.Red;
}
private void DataGridView_CellLeave1(object sender, DataGridViewCellEventArgs e)
{
dataGridView1[e.ColumnIndex, e.RowIndex].Style.SelectionBackColor = Color.Blue;
}
此外,Change individual DataGridView row colors based on column value可能有所帮助。
答案 2 :(得分:0)
如果要根据行的内容而不是选择状态更改所选行的外观,我就是这样做的:
private void DataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
if (RowShouldBeRed(e))
{
e.CellStyle.BackColor = Color.LightPink;
e.CellStyle.SelectionBackColor = Color.Red;
}
else
{
e.CellStyle.BackColor = DataGridView1.DefaultCellStyle.BackColor;
e.CellStyle.SelectionBackColor = DataGridView1.DefaultCellStyle.SelectionBackColor;
}
}
在此示例中,RowShouldBeRed函数是用于确定如何为行着色的逻辑的存根。
答案 3 :(得分:0)
//对于特定单元格
dataGridView1.Rows[RowIndex].Cells[ColumnIndex].Style.BackColor = Color.Red;
//对于特定行
dataGridView1.Rows[RowIndex].DefaultCellStyle.BackColor = Color.Black;
//对于特定列
dataGridView1.Columns[ColumnIndex].DefaultCellStyle.BackColor =Color.Yellow;