Я работаю над приложением для записи имен, и информация хранится в базе данных SQLite. Все столбцы в базе данных имеют тип TEXT, за исключением столбца даты рождения, который является DATETIME. Исходная база данных Access, которую я перенес в базу данных SQLite, допускала нулевое значение даты рождения, поэтому, когда я ее скопировал, я установил для всех нулевых значений значение DateTime.MinValue.
В моем приложении столбец даты рождения отформатирован следующим образом:
DataGridViewTextBoxColumn dateOfBirth = new DataGridViewTextBoxColumn();
dateOfBirth.HeaderText = "DOB";
dateOfBirth.DataPropertyName = "DateOfBirth";
dateOfBirth.Width = 75;
dateOfBirth.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
dateOfBirth.DefaultCellStyle.Format = "MM/dd/yyyy";
Моя проблема в том, что в строках, где нет даты рождения, в базе данных есть DateTime.MinValue, который отображается в моем DataGridView как 01/01/0001.
Я ищу способ заменить 01/01/0001 пустой строкой ("") в моем DataGridView.
private void resultsGrid_DateFormatting(object sender, System.Windows.Forms.DataGridViewCellFormattingEventArgs e)
{
if(resultsGrid.Columns[e.ColumnIndex].Name.Equals("DateOfBirth"))
{
if ((DateTime)(resultsGrid.CurrentRow.Cells["DateOfBirth"].Value) == DateTime.MinValue)
{
// Set cell value to ""
}
}
}
Кто-нибудь знает, как я могу заменить DateTime.MinValue в моем DataGridView пустой строкой? Спасибо!
Изменить: приведение значения ячейки с помощью DateTime позволяет оператору if работать, но я все еще не могу понять кодировку для замены MinValues пустой строкой.