7

这是一个 winform vb.net 2008 应用程序。我正在从数据库中取回数据并基于一些静态条件...我想更改背景和文本的颜色。winform中没有rowdatabound事件...

希望有人可以提供一些指导谢谢香农

4

3 回答 3

4

我让它工作了......在RowPostPaint事件中......如果我投入

if (my criteria here)
    Me.dgTableInfo.Rows(e.RowIndex).Cells("ColumnName").Style.BackColor = Color.Red
end if
于 2009-10-28T20:29:01.783 回答
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
于 2011-06-08T20:20:28.110 回答
1

不要忘记也设置 selectoinBackColor ......否则,如果您的红色行发生变化,但您将其突出显示,它看起来就像其他所有内容一样。

于 2009-11-04T19:15:37.160 回答