我有一个 dataGridview,它每 1 分钟刷新一次,并在其中添加新行(dataGridView)。现在我想根据某些条件更改那些新添加的行的前景色。请告诉我如何实现它?
问候祖海布
我有一个 dataGridview,它每 1 分钟刷新一次,并在其中添加新行(dataGridView)。现在我想根据某些条件更改那些新添加的行的前景色。请告诉我如何实现它?
问候祖海布
为此,您可以从 DataGridView 的 _RowLeave() 事件中播放...同样对于 NewRow(),您可以检查单元格值是否为空白或 Not Exist(),然后它可以应用于 dataGridView 单元格样式.. 如下方式.. ..
Form_Load()
{
DataGridViewCellStyle AStyle = new DataGridViewCellStyle();
AStyle.BackColor = Color.BlueViolet;
blah...blah...blah..
}
private void MyDataGrid1_RowLeave(Object Sender, DataGridViewCellEventArgs e)
{
for (int I1 = 0; I1 < dataGrid1.Columns.Count - 1; I1++)
{
if (I1 == 3 || I1 == 5)
{
dataGrid1.CurrentRow.Cells[I1].Style = AStyle;
}
}
}
谢谢
您可以在 RowsAdded 事件中更改单元格字体。我在 Visual Basic 中做,所以你可以将它翻译成 c#,这里的代码:
Private Sub DatagridView_RowsAdded(sender As Object, e As DataGridViewRowsAddedEventArgs) Handles DatagridView.RowsAdded
With DirectCast(sender, DataGridView)
If .Item(yourColumnIndex, e.RowIndex).Value Is "yourValue" Then
.Rows.Item(e.RowIndex).DefaultCellStyle.ForeColor = Color.White
.Rows.Item(e.RowIndex).DefaultCellStyle.BackColor = Color.DarkRed
.Rows.Item(e.RowIndex).DefaultCellStyle.Font = New Font("Verdana", 8, FontStyle.Strikeout Or FontStyle.Bold)
End If
End With
End Sub
我希望这对你有用