maltek Geschrieben 22. Februar 2012 Geschrieben 22. Februar 2012 Moin moin, Ich habe eine foreach-Schleife mit der ich alle Zeilen einer Tabelle durchlaufe. foreach(DataRow _row in Table.Rows) Nun ist es aber so, das ich innerhalb der Schleife neue Zeilen zur Tabelle hinzufüge. Leider bleibt der Wert in der foreach-Bedingung immer gleich, also Table.Rows.Count ergibt immer 15. Ich hoffe es ist einigermaßen verständlich. Hat jemand vielleicht eine Idee? Zitieren
carstenj Geschrieben 22. Februar 2012 Geschrieben 22. Februar 2012 Hi, 1. Zumindest ein Hinweis auf die Programmiersprache wäre praktisch 2. Du würdest ja dann eine Endlosschleife erzeugen, wenn bei jedem Durchlauf eine Zeile hinzugefügt wird. 3. Daraus lässt sich schließen, dass Foreach vorher nachschaut, wieviel Einträge vorhanden sind und dann erst die Schleife beginnt Zitieren
Leimy84 Geschrieben 22. Februar 2012 Geschrieben 22. Februar 2012 1. Anzahl Zeilen ermitteln in einer Variablen speichern 2. For-Schleife von 1ter Zeile bis eben gespeicherter Zeile Funktioniert natürlich nur, wenn die Zeilen am Ende eingefügt werden. Ansonsten kommt es natürlich stark darauf an, wo die neue Zeile eingefügt wird. Edit: ich habs nochmal gelesen, möchtest du denn nun auch die neuen Zeilen durchlaufen oder nur die, die vorher drin waren? Zitieren
maltek Geschrieben 23. Februar 2012 Autor Geschrieben 23. Februar 2012 1. Anzahl Zeilen ermitteln in einer Variablen speichern 2. For-Schleife von 1ter Zeile bis eben gespeicherter Zeile Funktioniert natürlich nur, wenn die Zeilen am Ende eingefügt werden. Ansonsten kommt es natürlich stark darauf an, wo die neue Zeile eingefügt wird. Edit: ich habs nochmal gelesen, möchtest du denn nun auch die neuen Zeilen durchlaufen oder nur die, die vorher drin waren? Die Zeilen werden mittendrin eingefügt. foreach(DataRow _row in Table.Rows) { if(...) { Rows.AddAt(_row.RowIndex, _newrow); //_newrow ist die Zeile die ich einfüge } } Konkret ist nun das Problem das _row.RowIndex den alten Index liefert, wenn ich aber bereits n Zeilen hinzugefügt habe (die über der aktuellen Zeile liegen) landet meine neue Zeile an der falschen Stelle. So, durch das aufschreiben ist es mir nun selber eingefallen: ich zähl einfach mit wie viele Zeilen ich einfüge und rechne den Index entsprechend hoch. :upps Danke für die Hilfe Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.