2013-09-12 7 views
7

Я не могу установить набор Datetimepicker в Null, как это сделать. В моем проекте мое требование, чтобы проверить DTPif это нуль, для этого мне нужно установить на Null, код я использую:Установка DateTimePicker в Null

   { 
       dateInsert.Format = DateTimePickerFormat.Custom; 
       dateInsert.Text = string.Empty; 
       } 

ответ

6

Используйте следующий код:

dateTimePicker1.Format = DateTimePickerFormat.Custom; 
dateTimePicker1.CustomFormat = " "; 
4

Возьмите переменную и установите его значение, когда значение DateTimePicker изменяет

eg

DateTime? myselectedDate = null; 

private void DateTimePicker1_ValueChanged(Object sender, EventArgs e) { 
    myselectedDate = DateTimePicker1.Value; 
} 
3

У меня был подобный вопрос, но я не мог найти ответ, который я любил. Однако я придумал подходящее решение. Установите для свойства «ShowCheckBox» значение datetimepicker значение true. Это установит флажок рядом с датой в поле. Затем добавьте следующий код.

if (dateTimePicker1.Checked == false) 
    myVariable = ""; 
else 
    myVariable = dateTimePicker1; 
0

Как «Картик Reddy» было отмечено выше вам нужно использовать «CustomFormat», однако записать обратно нуль в базу данных SQL (например) ваш код должен проверить DateTimePicker, когда это добавляет "или «Обновления» - запись, поэтому вам нужно как минимум два фрагмента кода. Где a) «dtp_X» - это элемент управления DateTimePicker, b) «_NewRecord» - это настраиваемый объект, который отправляется обратно на SQL-сервер, c) «TheDateProperty» - это конкретное поле даты или свойство пользовательского объекта

//Call this when the form Loads 
private void AllowTheDatePickersToBeSetToNothing()  
{ 
//This let's you set the DatePicker to nothing 
dtp_X.CustomFormat = " "; 
dtp_X.Format = DateTimePickerFormat.Custom; 

} 

// Call this when Uploading or Adding the record (_NewRecord) to an SQL database  
private void Set_The_Field_Value_based_on_the_CustomFormat_of_the_DateTimePickers() 
{ 
if (dtp_X.CustomFormat == " ") 
    { 
    //the date should be null 
    _NewRecord.TheDateProperty = SqlDateTime.Null; 
    } 
else 
    { 
    _NewRecord.TheDateProperty = SqlDateTime.Parse(Convert.ToString(dtp_X.Value)); 
    } 

} 


//This button resets the Custom Format, so that the user has a way to reset the DateTimePicker Control 
private void btn_Reset_dtp_X_Click(object sender, EventArgs e) 
{ 
dtp_X.Format = DateTimePickerFormat.Custom; 
dtp_X.CustomFormat = " "; 
} 
Смежные вопросы