Sto lavorando a un'applicazione di registrazione del nome e le informazioni sono archiviate in un database SQLite. Tutte le colonne nel database sono tipi di TESTO, ad eccezione della colonna Data di nascita, che è un DATETIME. Il database Access originale che ho trasferito al database SQLite ha permesso null per la data di nascita, quindi quando l'ho copiato, ho impostato tutti i null su DateTime.MinValue.Sostituzione di un DateTime.MinValue in un DataGridView
Nella mia applicazione, la data di nascita della colonna è formattato in questo modo:
DataGridViewTextBoxColumn dateOfBirth = new DataGridViewTextBoxColumn();
dateOfBirth.HeaderText = "DOB";
dateOfBirth.DataPropertyName = "DateOfBirth";
dateOfBirth.Width = 75;
dateOfBirth.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
dateOfBirth.DefaultCellStyle.Format = "MM/dd/yyyy";
Il mio problema è che le righe dove non c'è una data di nascita, il database è DateTime.MinValue, che mostra nel mio DataGridView come 01/01/0001.
Sto cercando un modo per sostituire 01/01/0001 con una stringa vuota ("") nel mio 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 ""
}
}
}
Qualcuno ha un'idea di come posso sostituire un DateTime.MinValue nel mio DataGridView con una stringa vuota? Grazie!
Modifica: il cast del valore di cella con DateTime consente all'istruzione if di funzionare, ma non riesco ancora a capire la codifica per sostituire MinValues con una stringa vuota.
Q Simile & A sono state pubblicate su questo post: http://stackoverflow.com/a/36492728/909689 –