我有一个datagridview,其中一些列最初指定为String,它们包含日期或时间,具体取决于某些业务逻辑。
我正在更改列的类型(到datetime)以允许正确排序。我想知道是否可以根据行显示日期值或时间值。或者我将永远都要展示两者。
谢谢。
答案 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