这适用于winform vb.net 2008应用。我从数据库中提取数据并基于一些静态条件......我想改变背景和文本的颜色。 winform中没有rowdatabound事件...
希望有人可以提供一些指导 谢谢 香农答案 0 :(得分:4)
我在RowPostPaint
事件中工作......如果我放入
if (my criteria here)
Me.dgTableInfo.Rows(e.RowIndex).Cells("ColumnName").Style.BackColor = Color.Red
end if
答案 1 :(得分:1)
不要忘记设置selectoinBackColor ...否则如果您的红色行发生了变化,但是你突出显示它,它看起来就像其他所有行一样。
答案 2 :(得分:1)
这可以在不创建或调用多个子或函数的情况下工作。似乎适用于我需要它的每个实例。
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