Je travaille sur une application d'enregistrement de nom et les informations sont stockées dans une base de données SQLite. Toutes les colonnes de la base de données sont des types TEXT, à l'exception de la colonne date de naissance, qui est DATETIME. La base de données Access d'origine que j'ai transférée à la base de données SQLite autorisait des valeurs nulles pour la date de naissance, donc quand je l'ai copié, j'ai mis tous les nulls à DateTime.MinValue.Remplacement d'un DateTime.MinValue dans un DataGridView
Dans ma demande, la date de la colonne de naissance est formaté comme ceci:
DataGridViewTextBoxColumn dateOfBirth = new DataGridViewTextBoxColumn();
dateOfBirth.HeaderText = "DOB";
dateOfBirth.DataPropertyName = "DateOfBirth";
dateOfBirth.Width = 75;
dateOfBirth.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
dateOfBirth.DefaultCellStyle.Format = "MM/dd/yyyy";
Mon problème est que les lignes où il n'y a pas une date de naissance, la base de données a DateTime.MinValue, qui affiche dans mon DataGridView au 01/01/0001.
Je cherche un moyen de remplacer le 01/01/0001 par une chaîne vide ("") dans mon 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 ""
}
}
}
quelqu'un a une idée comment je peux remplacer un DateTime.MinValue dans mon DataGridView avec une chaîne vide? Merci! Editer: Lancer la valeur de la cellule avec DateTime permet à l'instruction if de fonctionner, mais je n'arrive toujours pas à trouver le code pour remplacer les MinValues par une chaîne vide.
Q & A similaires ont été publiés sur ce post: http://stackoverflow.com/a/36492728/909689 –