如何在c#中更改RowsAdded事件的行颜色

时间:2012-05-28 12:22:30

标签: c# datagridview colors

我有一个dataGridview,每隔1分钟刷新一次,并在其中添加新行(dataGridView)。现在我想根据某些条件更改这些新添加的行的前景色。请告诉我如何实现它?

此致 Zuhaib

2 个答案:

答案 0 :(得分:0)

为此你可以从DataGridView的_RowLeave()事件中播放... 同样对于NewRow(),您可以检查该单元格值是空白还是不存在()然后它可以应用于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;   
                }

    }

}

由于

答案 1 :(得分:0)

您可以在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

我希望这对你有用