只需撥打這提高了DataGridView.CellFormatting事件FormattedValueType屬性,然後更改單元格樣式中的事件代碼。
FormattedValue只是Value屬性的格式化表示。 FormattedValue表示由FormattedValueType屬性指定。
如果更改FormattedValueType屬性,它將更改呈現給用戶的方式而不更改該值。 =)
從MSDN這些話告訴你如何編輯FormattedValue的:
Value屬性是由細胞包含實際數據對象, 而FormattedValue的是這個 對象的格式化表示。 ValueType和FormattedValueType屬性分別對應於這些值的數據類型 。
獲取該屬性的值調用GetFormattedValue方法 到單元格的值轉換成由FormattedValueType屬性指示的類型 的等效顯示值。這會引發 DataGridView.CellFormatting事件,您可以處理該事件以自定義 的值轉換。
參閱MSDN上的講話爲DataGridViewCell.FormattedValue物業here.
當CellFormatting事件引發的,你可以做這樣的事情:
Private Sub dgvMyData_CellFormatting(sender As System.Object, e As System.Windows.Forms.DataGridViewCellFormattingEventArgs) Handles dgvMyData.CellFormatting
Dim MyStyle As New System.Windows.Forms.DataGridViewCellStyle
MyStyle.Format = "00 ct"
'or to remove the formatting:
MyStyle.Format = "00"
e.CellStyle = MyStyle
End Sub
我也有類似的問題,檢查此[鏈接](http://stackoverflow.com/questions/25761275/datagridview-show-date-or-time-vb-net) – 2014-09-25 09:18:37
謝謝你的建議,我測試了** CellFormatting **事件,但是這個事件被解僱了當從數據庫填入數據或輸入到單元格時。它與value/string沒有任何關係,雙擊時出現在editingMode中。 – 2014-09-25 12:07:34