|
分類:[VB.NET (Windows)]
時間の書式設定で悩んでいます。アドバイスよろしくお願いします。 データグリッドビューを使ってタイムカードの入力のプログラムを作成しています。 Cellには時間を入力します(HH:mm 00:00〜23:59の間で入力します) Maskを使用したかったのですができないみたいなので、Cellから離れるタイミングで、 900と入力すれば、表示は9:00と表示したいです。 1015と入力すれば、表示は10:15と表示したいです。
以下の内容を試してみました
Private Sub dgv勤怠情報_CellValidated(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles dgv勤怠情報.CellValidated
Debug.Print(dgv勤怠情報.Rows(e.RowIndex).Cells(e.ColumnIndex).Value.ToString("t")) '結果:String"t"からIntegerへの変換は無効ですとエラーが出ます。
Debug.Print(dgv勤怠情報.Rows(e.RowIndex).Cells(e.ColumnIndex).Value.ToString("HH:mm")) '結果:String"HH:mm"からIntegerへの変換は無効ですとエラーが出ます。
Debug.Print(String.Format(dgv勤怠情報.Rows(e.RowIndex).Cells(e.ColumnIndex).Value, "HH:mm")) '結果: 0900となって変化なしです。
Debug.Print(String.Format(dgv勤怠情報.Rows(e.RowIndex).Cells(e.ColumnIndex).Value, "00:00")) '結果: 0900となって変化なしです。
Debug.Print(Format(dgv勤怠情報.Rows(e.RowIndex).Cells(e.ColumnIndex).Value, "HH:mm")) '結果: HH:mmが表示されてしまいました。
End Sub
アドバイスよろしくお願いします。
|