我有一个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