與DGV

2013-11-04 44 views
1
值標籤替換值

初始位置: 我已綁定類型化的數據集(填充有來自SQL查詢數據)到一個DGV。 DGV條目不適用於僅用於閱讀的編輯。 DGV有12行(月)。與DGV

問題: 現在我想顯示的月份名稱,而不是號碼,你可以說我要標註值(1 =一月,2 =二月等),但不知道該怎麼辦它。

我的嘗試: 我的想法是創建和使用未綁定表(價值;個月的名字),但我無法找到一個列型(DGV - >編輯列),可以執行我想要什麼。

編輯: 你好,不,它不是關於標題。我給你一個例子。

ATM它看起來像:

1|true| 
2|false| 
3|false| 

... 我的目標是:

January|true| 
Feburary|false| 
March|false| 
+0

如果你正在談論頭:'dgv.columns(n).HeaderText'將允許你改變它 – Plutonix

+0

嗨。不,它不是關於標題。我編輯我的帖子給你一個例子。 – ruedi

+0

DateSet支持DataRelation http://social.msdn.microsoft.com/Search/en-US?query=dataset%20datarelation%20object&emptyWatermark=true&searchButtonTooltip=Search%20MSDN&ac=3 – Paparazzi

回答

1

也許你可以試試事件 「CellFormating」。在網絡中,它會很簡單,因爲每行數據綁定後都會引發一個事件,但不幸的是窗口中沒有。

我建議你直接在CellFormating事件來改變月份的數值爲:

Private Sub DataGridView1_CellFormatting(sender As Object, e As System.Windows.Forms.DataGridViewCellFormattingEventArgs) Handles DataGridView1.CellFormatting 
    If e.Value IsNot Nothing AndAlso IsNumeric(e.Value) Then 
     e.Value = System.Globalization.CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(e.Value) 
    End If 
End Sub 

我只是測試這個代碼和完美的作品。

+1

太棒了!這是一個很好的方法。由於我的值是在第1列,我只需設置環境:如果e.ColumnIndex()= 1那麼...結束如果一切都很好! – ruedi