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



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

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

谢谢。

您可以处理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

最新更新