conditional change of a datagridviews cell background color and text
This is for a winform vb.net 2008 app. I'm bringing data back from a database and based on so开发者_Go百科me 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
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
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.
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
精彩评论