2012-03-12 38 views
0

我在我的項目中使用了vb.net。我有一個datagridview綁定到一個數據表m_table,它有一個名爲Price_Change的小數列。如果價格變化> 0,我想在datagridview中以綠色顯示文本,否則以紅色顯示。我不能簡單地使用下面的格式,因爲綁定數據表m_table是在我的代碼中構建的,而不是直接通過數據庫構建的。vb.net,如何在數據表中設置不同的文字顏色

DataGridView.Rows(0)Cells(0).Style.ForeColor=COLOR.BLACK 

代碼看起來像

Dim rowText As DataRow = m_table.NewRow 
rowText("Price Change")=10.00 'assign values to price change column 

' there is no color formating for data table 

我不知道是否可以用於此目的cellformatting事件。它會減慢datagridview的負載嗎?這裏是[鏈接] http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridview.cellformatting.aspx

回答

0
Private Sub DGVTable_CellFormatting(sender As Object, e As System.Windows.Forms.DataGridViewCellFormattingEventArgs) Handles DGVTable.CellFormatting 
    If Me.DGVTable.Columns(e.ColumnIndex).Name = columnPriceChange Then 
     If e.Value IsNot Nothing Then 
      Dim change As Decimal = CType(e.Value, Decimal) 
      If change >= 0 Then 
       e.CellStyle.ForeColor = Color.Green 
      Else 
       e.CellStyle.ForeColor = Color.Red 
      End If 
     End If 
    End If 
End Sub 
相關問題