У меня есть 1 DataGridView с 3-мя колоннамиСтрока не была признана
- Column1 = StartLoading
- Столбец2 = FinishLoading
- Column3 = TotalLoadingHours
Если пользователь ввел дату и время Столбцы StartLoading и FinishLoading, общее количество часов от начала до конца будет отображаться в TotalLoadingHours Column.
Моя проблема: если пользователь ввел дату и время ТОЛЬКО в столбец StartLoading, всегда появляется ошибка: «String не была признана допустимым DateTime».
Цените свою помощь. Ниже мой код.
Dim StartLoading As New System.DateTime
Dim FinishLoading As New System.DateTime
For x As Integer = 0 To LoadingStatusDataGridview.Rows.Count - 2
Dim StartLoadingvalue As String = LoadingStatusDataGridview.Rows(x).Cells(1).Value.ToString()
StartLoading = DateTime.Parse(StartLoadingvalue)
Dim FinishLoadingvalue As String = LoadingStatusDataGridview.Rows(x).Cells(2).Value.ToString()
FinishLoading = DateTime.Parse(FinishLoadingvalue)
Dim TotalLoadingHours1 As TimeSpan = (FinishLoading - StartLoading)
String.Format("{0:00}:{1:00}:{2:00}", TotalLoadingHours1.TotalHours, TotalLoadingHours1.Minutes, TotalLoadingHours1.Seconds)
Dim TotalLoadingHours2 As TimeSpan = (DateTime.Now - StartLoading)
String.Format("{0:00}:{1:00}:{2:00}", TotalLoadingHours2.TotalHours, TotalLoadingHours2.Minutes, TotalLoadingHours2.Seconds)
If IsDBNull(LoadingStatusDataGridview.Rows(x).Cells(1).Value()) OrElse LoadingStatusDataGridview.Rows(x).Cells(1).Value() Is Nothing Then
LoadingStatusDataGridview.Rows(x).Cells(3).Value() = Nothing
ElseIf IsDBNull(LoadingStatusDataGridview.Rows(x).Cells(2).Value()) OrElse LoadingStatusDataGridview.Rows(x).Cells(2).Value() Is Nothing Then
LoadingStatusDataGridview.Rows(x).Cells(3).Value() = TotalLoadingHours2
Else
LoadingStatusDataGridview.Rows(x).Cells(3).Value() = TotalLoadingHours1
End If
Next
End Sub
Вы можете использовать 'Date.TryParse' для проверки перед запуском кода. – OneFineDay
Возможный дубликат [Строка не была признана допустимым дата-временем] (http://stackoverflow.com/questions/784638/the-string-was-not-recognized-as-a-valid-datetime) – TylerH
Рассмотрите возможность использования DateTimePicker control – NoChance