Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Alle Zeilen einer Tabelle (erhöhte Schwierigkeit)

Empfohlene Antworten

Veröffentlicht

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?

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

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?

  • Autor
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

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.