DateTimePicker отображает сегодняшнюю дату вместо того, чтобы отображать ее фактическое значение - PullRequest
7 голосов
/ 23 октября 2009

У нас есть пара DateTimePickers в пользовательском пользовательском элементе управления в форме. Они видны, но не включены (только для отображения). Когда загружается UserControl, DateTimePickers присваиваются значения из DataRow, полученного из DataSet, в котором хранится одна запись, возвращенная из хранимой процедуры SQL Server.

Существует противоречивое поведение, при котором пользователи иногда видят сегодняшнюю дату вместо даты, назначенной DateTimePicker. Похоже, не имеет значения, назначить ли мне нужную дату свойству .Value или свойству .Text:

txtstart.Value = (DateTime) dr["Group_Start_Date"];
txtend.Text = dr["Term_Date"].ToString();

Я ожидаю, что из двух приведенных выше утверждений более подходящим будет использование свойства Value. Но в обоих случаях сегодняшняя дата отображается пользователю независимо от значений, которые были в базе данных. В случае txtstart.Value Visual Studio показывает мне, что значение было назначено как ожидалось. Так почему же он не отображает эту дату пользователю вместо сегодняшней даты?

Ответы [ 5 ]

14 голосов
/ 03 марта 2010

Я нашел ответ. Вы ДОЛЖНЫ установить значение флажка в флажок, чтобы указать ненулевое значение.

this.dateSold.Checked = true; // установить в true или false, по желанию this.dateSold.ShowCheckBox = false;

0 голосов
/ 09 июня 2012

У меня тоже были проблемы с этим и я обнаружил, что вам действительно нужно установить значение .Checked на True.

Я установил свойство Checked в окне свойств, и оно все еще не работало, поэтому я просто установил его в коде перед назначением значения, и это устранило проблему.

0 голосов
/ 27 октября 2011

Я закончил с предложением А.Б. Нолана. Причины отключенного DateTimePicker мне никогда не были ясны, поэтому вернемся к 23.10.2009, вместо того, чтобы продолжать возиться с элементом управления, я просто вместо этого отображал нужные даты в текстовых окнах.

0 голосов
/ 18 ноября 2009

Я выяснил, в чем проблема корня, ответил здесь на похожий вопрос, если вы, ребята, все еще хотите знать.

0 голосов
/ 13 ноября 2009

Кажется, проблема в наличии нескольких DateTimePickers. Мне удалось обойти проблему (ошибка?), Программно создав DateTimePickers со значениями, которые я хотел, и добавив их в форму.

...