Mir ist folgendes aufgefallen: Ich kann im DataGrid Daten eingeben. Es wird auch richtig mitgezählt (0, 1, 2, 3, 4 usw.).
Wenn ich nun mit der Pfeil-Taste eine Zeile nach oben gehe und dann wieder eine nach unten, stimmt die Nummerierung nicht mehr.
Beispiel: Ich gebe irgend etwas ein und drücke ENTER. DataGrid erzeugt eine neue Zeile. In der Spalte "Nr." steht jetzt ne 1. Ich gehe mit der Pfeiltaste nach oben und dann wieder nach unten. Nun steht in der zweiten Zeile eine 2 obwohl eine 1 stehen müßte (nach 0 kommt die 1). Komisch...
Das DataGrid sollte das Ereignis "CurrentRowChanged" (oder so ähnlich) werfen, dort kannst du auch glleich schauen ob sinnvolle Werte eingegebn wurden. Aber wichtiger ist das hier ein AcceptChanges() von der Tabelle aufgerufen wird. Damit werden alle Änderungen für endgültig übernohmen.
Könnte aber später zu einem Problem werden, wenn du die Daten in eine Datenbank speichern willst.
Danke für die Tipps.
Ich habe das Problem trotzdem nicht lösen können.
Da ich die Daten in eine XML-Datei speichern will (DataSert.WriteXML), laufe ich kurz vorm Speicher die Tabelle durch und sorge für eine korrekte Nummerierung (Ist zwar nicht die feine englische Art aber immerhin eine Lösung).
Servus...
Paratrooper.
PS: Das Ereignis "CurrentRowChanged" wir im DataTable und nicht in DataGrid ausgelöst.