Usuwanie kilku wierszy jednocześnie z tabeli

Usuwanie kilku wierszy jednocześnie z tabeli
DamianOS.MP5
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 74
0

W głównym oknie programu mam tabelę, a w niej zapisane różne wiersze. Chciałbym, aby po wciśnięciu przycisku skasowały się wszystkie wiersze, które zawierają określony tekst:

Kopiuj
int countRows = table.Rows.Count;
for (int i = 0; i < countRows; i++)
	if (table.Rows[i].Cells[6].Text == "Do usuniecia")
	{
		int indeks = table.Rows[i].Index;
		table.Rows.RemoveAt(indeks);
	}

Problem polega na tym, że gdy zostanie usunięty dany wiersz, to zmienia się indeksowanie w tabeli, przez co pętla for przestaje działać. Jest jakiś inny sposób? Korzystam tutaj z XPTable.

mariano901229
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 597
1

Zamiast w pętli od pierwszego wiersza, zacznij od ostatniego i zrób by pętla wykonywała się od największego indeksu do najmniejszego.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.