conditional change of a datagridviews cell background color and text

11,640

Solution 1

I got it working... in the RowPostPaint event.. If I put in

if (my criteria here)
    Me.dgTableInfo.Rows(e.RowIndex).Cells("ColumnName").Style.BackColor = Color.Red
end if

Solution 2

Don't forget to set the selectoinBackColor too... otherwise if your red row changes, but you have it highlighted, it will look just like all the rest anyway.

Solution 3

This works without creating or calling multiple subs or functions. Seems to work for every instance I need it to.

Do While myDataReader.Read()
    ItemID = Trim(myDataReader.Item("ITEM").ToString())
    PAR = myDataReader.Item("PAR").ToString()
    Returned = myDataReader.Item("RETURNED_AMOUNT")
    Taken = myDataReader.Item("TAKEN_AMOUNT")
    OnHand = ((PAR + Returned) - Taken)

    DataGridViewItemList.Rows.Add(ItemID, PAR, Returned, Taken, OnHand)

    RI = DataGridViewItemList.Rows.Count - 1
    If OnHand <= (PAR / 2) Then
        DataGridViewItemList.Rows(RI).DefaultCellStyle.BackColor = Color.DarkSalmon
    Else
        DataGridViewItemList.Rows(RI).DefaultCellStyle.BackColor = Nothing
    End If
Loop
Share:
11,640
jvcoach23
Author by

jvcoach23

Updated on June 09, 2022

Comments

  • jvcoach23
    jvcoach23 almost 2 years

    This is for a winform vb.net 2008 app. I'm bringing data back from a database and based on some static conditions... i want to change the color of the background and the text. There is no rowdatabound event in winform...

    hope someone can provide some guidance thanks shannon