Hallo zusammen
Ich habe ein Problem mit der Zellinstanz, die beim Löschen des Zelinhaltes verloren geht.
Ich erstelle z.B. 3 Zeilen:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| private void Form1_Load(object sender, EventArgs e) { DataGridViewRow row1 = new DataGridViewRow(); row1.CreateCells(dataGridView1); row1.Cells[0].Value = "Hallo1"; dataGridView1.Rows.Add(row1); DataGridViewRow row2 = new DataGridViewRow(); row2.CreateCells(dataGridView1); row2.Cells[0].Value = "Hallo2"; dataGridView1.Rows.Add(row2); DataGridViewRow row3 = new DataGridViewRow(); row3.CreateCells(dataGridView1); row3.Cells[0].Value = "Hallo3"; dataGridView1.Rows.Add(row3); } |
Ich editiere die Zeile 2 und lösche den Text aus der Zelle (Hallo2).
Danach möchte ich das DGV durchlaufen und die Zellwerte verarbeiten.
C#-Quelltext
1: 2: 3: 4: 5: 6: 7:
| private void button1_Click(object sender, EventArgs e) { foreach (DataGridViewRow row in dataGridView1.Rows) { MessageBox.Show(row.Cells[0].Value.ToString()); } } |
Dabei verliere ich bei der editerten Zelle die Objektinstanz.
Dies geschieht nur dann, wenn das Zell-Value leer ist.
Wenn ich einen Text oder einen Leerschlag einfüge funktioniert die Schleife wunderbar.
Woher kommt dieser Fehler, wie kann ich ihn vermeiden und die Objektinstanz beim Löschvorgang des Inhaltes beibehalten?
Vielen Dank für eure Hilfe.