我正在使用visual studio中的桌面应用程序。我希望我的datagridview突出显示某些单元格的值不在特定范围内的行。例如,如果我向行的列X输入一个值,并且值不在5到8之间,我希望该行以另一种颜色显示为红色。
请有人知道该怎么做??
答案 0 :(得分:0)
我知道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
答案 1 :(得分:0)
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类操作布局。