В одной из моих форм я перечисляю загрузку сервисов и соответствующие даты. Theres в основном список сервисов, флажок рядом с каждым и datetimepicker рядом с этим флажком. Если флажок установлен, отображается datetimepicker, и дата устанавливается для даты окончания контракта для этой службы, если она не скрыта (visible = false).
Я прочитал данные для этой формы из mysql и привязал ее в DataTable, как это...
Dim adapter As MySqlDataAdapter
Dim productresultstable As DataTable
cn.ConnectionString = main.myconnectionstr
Dim commandtext As String
commandtext = "Select * from products where link_id = '" & customerid & "'"
adapter = New MySqlDataAdapter(commandtext, cn)
productresultstable = New DataTable
adapter.Fill(productresultstable)
Затем я сортирую его соответствующим образом, проверяя соответствующие флажки и устанавливая datetimepickers.
p1.Checked = productresultstable.Rows(0)("p1").ToString()
If p1.Checked = True Then
p1date.Visible = True
p1date.Value = Date.Parse(productresultstable.Rows(0)("1_ce").ToString)
End If
Проверяются правильные флажки; это работает нормально. Но у datetimepickers есть дата как дата.
Я знаю, что productresultstable.Rows(0) ("1_ce"). ToString вытаскивает дату (1_ce - это столбец с типом "Дата" в mysql), потому что, если я добавляю сообщение, чтобы показать его на экране, он показывает "19/04/2018 00:00:00 "...
но независимо от того, что я пытаюсь, я не могу получить значение соответствующего DateTimePicker, чтобы показать это значение.
Может кто-то указать мне верное направление? Любая помощь предоставляется!
Дальше мой код был...
p1date.value = ""
... что вызывало проблему.
да, я идиот.
Value
имеет типDateTime
, а не типString
. Присвойте ему значениеDateTime
, а не объектString
.