NullReferenceException bei DateTimePicker
-
Hallo,
in einem DataGridView habe ich einen DateTimePicker.
Dem Picker weise ich beim Load Event der Form folgendes zu:dtpNeueBestellungLiefertermin = new DateTimePicker(); dtpNeueBestellungLiefertermin.Format = DateTimePickerFormat.Short; dtpNeueBestellungLiefertermin.Visible = false; dgNeueBestellungBestellpositionen.Controls.Add(dtpNeueBestellungLiefertermin); dtpNeueBestellungLiefertermin.ValueChanged += this.dtpNeueBestellungLiefertermin_ValueChanged;
Beim Ändern des Wertes (Klick in die Zelle) erhalte ich die Fehlermeldung:
private void dgNeueBestellungBestellpositionen_CellBeginEdit(object sender, DataGridViewCellCancelEventArgs e) { try { if ((dgNeueBestellungBestellpositionen.Focused) && (dgNeueBestellungBestellpositionen.CurrentCell.ColumnIndex == 6)) { dtpNeueBestellungLiefertermin.Location = dgNeueBestellungBestellpositionen.GetCellDisplayRectangle(e.ColumnIndex, e.RowIndex, false).Location; dtpNeueBestellungLiefertermin.Visible = true; if (dgNeueBestellungBestellpositionen.CurrentCell.Value != DBNull.Value) { dtpNeueBestellungLiefertermin.Value = (DateTime)dgNeueBestellungBestellpositionen.CurrentCell.Value; // hier wird die Fehlermeldung ausgelöst } else { dtpNeueBestellungLiefertermin.Value = DateTime.Today; } } else { dtpNeueBestellungLiefertermin.Visible = false; } } catch(Exception ex) { MessageBox.Show(ex.Message); } }
In der Zeile
dtpNeueBestellungLiefertermin.Value = (DateTime)dgNeueBestellungBestellpositionen.CurrentCell.Value;
kommt die Fehlermeldung.Die Zeile im DataGridView fülle ich "von Hand":
string[] row0 = { "", bestellposition.ID, bestellposition.Bezeichnung, bestellposition.Nummer, bestellposition.Norm, bestellposition.Preis.ToString(), DateTime.Today.ToShortDateString() }; dgNeueBestellungBestellpositionen.Rows.Add(row0);
Übergebe ich das Datum falsch zum DataGridView?
AuchDateTime.Today.ToString("MM.mm.yyyy");
verursacht eine Fehlermeldung.