Я работаю над приложением записи имени, и информация хранится в базе данных 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.010001 пустой строкой ("") в моем 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 пустой строкой.