Datagridview显示日期或时间(VB.NET)

时间:2014-09-10 08:58:33

标签: vb.net datagridview

我有一个datagridview,其中一些列最初指定为String,它们包含日期或时间,具体取决于某些业务逻辑。

我正在更改列的类型(到datetime)以允许正确排序。我想知道是否可以根据行显示日期值或时间值。或者我将永远都要展示两者。

谢谢。

1 个答案:

答案 0 :(得分:1)

您可以处理CellFormatting事件。每次绘制单元格时都会触发此事件。您可以更改显示的值而不更改基础值和单元格格式。

通过执行此操作,您可以根据行和列更改格式

Private Sub CellFormatting_EventHandler(sender As Object, e As DataGridViewCellFormattingEventArgs)
     If e.ColumnIndex = 2 AndAlso CType(sender, DataGridView)(5, e.RowIndex).Value.ToString = "Steve" Then 'Or whatever logic you like
         e.Value = CType(e.Value, Date).ToShortTimeString
     End If
 End Sub