在Windows应用程序中 我想根据值范围
在datagridview中设置不同单元格的颜色假设 值1..22:单元格颜色应为绿色 值23.30:单元格颜色应为灰色 值> 30:单元格颜色应为红色
我该怎么做..请建议一些代码片段? 如何在C#中的datgridview中进行条件格式化?
答案 0 :(得分:1)
请参阅我对Windowsforms: How to draw lines/bars on a DataGridView?的回答。这个问题在VB.NET中提供了一个答案(应该很容易转换为C#)。
更新以适应问题
示例:
private void dataGridView1_CellPainting(object sender, System.Windows.Forms.DataGridViewCellPaintingEventArgs e)
{
if (e.Value > 0 && e.Value <= 22 )
{
e.Graphics.FillRectangle(Color.Green, e.CellBounds);
}
else if (e.Value > 22 && e.Value <= 30 )
{
e.Graphics.FillRectangle(Color.Grey, e.CellBounds);
}
else if (e.Value > 30)
{
e.Graphics.FillRectangle(Color.Red, e.CellBounds);
}
else
{
e.Graphics.FillRectangle(Color.White, e.CellBounds);
}
}
答案 1 :(得分:1)
您可以根据不同的条件应用DataGridViewCellStyle对象
DataGridViewCellStyle cellstyle = new DataGridViewCellStyle();
cellstyle.BackColor = Color.Black;
cellstyle.ForeColor = Color.Yellow
dgvAllData.Rows[5].Cells[2].Style = cellstyle;
dgvAllData.Rows[3].Cells[2].Style = cellstyle;
dgvAllData.Rows[6].Cells[2].Style = cellstyle;