我在vb.net中使用Visual Studio 2010并从Access DB中检索数据。
我需要以中等时间格式(00:00 PM)格式化多个列。下面的代码适用于一列,但我在同一个数据网格中有另一个名为TimeFinish的列需要以相同的方式进行格式化。
有人可以帮我添加格式到TimeFinish专栏吗 提前干杯。
Private Sub DataGridView1_CellFormatting(ByVal sender As Object, _
ByVal e As System.Windows.Forms.DataGridViewCellFormattingEventArgs) _
Handles DataGridView1.CellFormatting
If Me.DataGridView1.Columns(e.ColumnIndex).Name = "TimeStart" Then
e.Value = String.Format("{0:t}", e.Value)
End If
End Sub
答案 0 :(得分:0)
使用:
Private Sub DataGridView1_CellFormatting(ByVal sender As Object, _
ByVal e As System.Windows.Forms.DataGridViewCellFormattingEventArgs) _
Handles DataGridView1.CellFormatting
If Me.DataGridView1.Columns(e.ColumnIndex).Name = "TimeStart" Then
e.Value = String.Format("{0:t}", e.Value)
End If
If Me.DataGridView1.Columns(e.ColumnIndex).Name = "TimeFinish" Then
e.Value = String.Format("{0:t}", e.Value)
End If
End Sub
如果你有很多不同的Ifs,你应该使用Select Case:
Private Sub DataGridView1_CellFormatting(ByVal sender As Object, _
ByVal e As System.Windows.Forms.DataGridViewCellFormattingEventArgs) _
Handles
Select Case Me.DataGridView1.Columns(e.ColumnIndex).Name
Case "TimeStart"
e.Value = String.Format("{0:t}", e.Value)
Case "TimeFinish"
e.Value = String.Format("{0:t}", e.Value)
End Select
End Sub