2009-10-28 64 views
7

這是一個winform vb.net 2008應用程序。我從數據庫中提取數據並基於一些靜態條件...我想更改背景和文本的顏色。目前在winform沒有RowDataBound事件......datagridviews單元格背景色和文本的條件更改

希望有人能提供一些指導 感謝 香

+1

我可以想到至少有20種不同的方式將數據從數據庫中帶回來,所以如果你更具體些,可能會有所幫助。 – 2009-10-28 19:51:27

+0

對不起......我沒有麻煩從數據庫返回數據,它格式化數據將進入單元格的樣式。 – jvcoach23 2009-10-28 20:27:39

回答

4

我得到它的工作......在RowPostPaint事件。如果我把

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

不要忘記設置selectoinBackColor ...否則,如果你的紅色的行改變了,但你有它突出顯示,它會看起來就像所有其他的休息。

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 
相關問題