Estoy trabajando en una aplicación de registro de nombre y la información se almacena en una base de datos SQLite. Todas las columnas en la base de datos son tipos de TEXTO, excepto la columna de fecha de nacimiento, que es DATETIME. La base de datos de Access original que transferí a la base de datos de SQLite permitió nulos para la fecha de nacimiento, así que cuando lo copié, establecí todos los nulos en DateTime.MinValue.Reemplazando un DateTime.MinValue en un DataGridView
En mi solicitud, la fecha de nacimiento de la columna se formatea así:
DataGridViewTextBoxColumn dateOfBirth = new DataGridViewTextBoxColumn();
dateOfBirth.HeaderText = "DOB";
dateOfBirth.DataPropertyName = "DateOfBirth";
dateOfBirth.Width = 75;
dateOfBirth.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
dateOfBirth.DefaultCellStyle.Format = "MM/dd/yyyy";
Mi problema es que las filas donde no hay una fecha de nacimiento, la base de datos tiene DateTime.MinValue, que muestra en mi DataGridView como 01/01/0001.
Estoy buscando una manera de reemplazar el 01/01/0001 con una cadena vacía ("") en mi 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 ""
}
}
}
Alguien tiene una idea de cómo puedo reemplazar un DateTime.MinValue en mi DataGridView con una cadena vacía? ¡Gracias!
Editar: Castear el valor de la celda con DateTime permite la instrucción if que tengo que trabajar, pero aún no puedo descubrir la codificación para reemplazar los MinValues con una cadena en blanco.
Q y A similares se han publicado en este mensaje: http://stackoverflow.com/a/36492728/909689 –