我正在 Visual Studio 中开发桌面应用程序。我希望我的 datagridview 突出显示某些单元格的值不在特定范围内的行。例如,如果我在行的 X 列中输入一个值,并且该值不在 5 和 8 之间,我希望该行以另一种颜色显示为红色。
请问有人知道怎么做吗?
我正在 Visual Studio 中开发桌面应用程序。我希望我的 datagridview 突出显示某些单元格的值不在特定范围内的行。例如,如果我在行的 X 列中输入一个值,并且该值不在 5 和 8 之间,我希望该行以另一种颜色显示为红色。
请问有人知道怎么做吗?
private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
{
if (e.RowIndex == -1) return;
int CellValue;
if (int.TryParse(dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString(),out CellValue))
{
if (CellValue < 5 && CellValue > 8)
{
dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Style = new DataGridViewCellStyle() { ForeColor = Color.Red };
}
}
使用事件查看哪个单元格发生了变化,并通过 CellSytle 类操作布局。
我知道 vb.net,所以语法会有点不同,但看起来像这样
For i As Integer = 0 To datagrid.Attributes.Count - 1
If somecondtion Then
datagrid.Columns.Item(i).CellStyle.BackColor = Color.somecolor
Else
datagrid.Columns.Item(i).CellStyle.BackColor = Color.othercolor
End If
Next