Ich arbeite an einer Anwendung namens Name Record und die Informationen werden in einer SQLite-Datenbank gespeichert. Alle Spalten in der Datenbank sind TEXT-Typen, mit Ausnahme der Geburtsdatumsspalte, bei der es sich um DATETIME handelt. Die ursprüngliche Access-Datenbank, die ich in die SQLite-Datenbank übertragen habe, erlaubte Nullen für das Geburtsdatum. Wenn ich sie also kopierte, setzte ich alle Nullen auf DateTime.MinValue.Ersetzen eines DateTime.MinValue in einer DataGridView
In meiner Anwendung wird das Geburtsdatum Spalte wie so formatiert:
DataGridViewTextBoxColumn dateOfBirth = new DataGridViewTextBoxColumn();
dateOfBirth.HeaderText = "DOB";
dateOfBirth.DataPropertyName = "DateOfBirth";
dateOfBirth.Width = 75;
dateOfBirth.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
dateOfBirth.DefaultCellStyle.Format = "MM/dd/yyyy";
Mein Problem ist, dass Zeilen, in denen es kein Geburtsdatum ist, die Datenbank hat DateTime.MinValue, die zeigt meine DataGridView als 01/01/0001.
Ich bin auf der Suche nach einer Möglichkeit, den 01.01.0001 durch eine leere Zeichenfolge ("") in meinem DataGridView zu ersetzen.
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 ""
}
}
}
jemand eine Idee, wie ich einen DateTime.MinValue in meinem Datagridview mit einem leeren String ersetzen kann? Vielen Dank!
Edit: Casting der Zelle Wert mit DateTime ermöglicht die If-Anweisung Ich muss arbeiten, aber ich bin immer noch nicht in der Lage, herauszufinden, die Codierung die MinValues durch eine leere Zeichenfolge zu ersetzen.
ähnlich Q & A hat auf diesem Beitrag gepostet: http://stackoverflow.com/a/36492728/909689 –