Supprimer une ligne d'une Table de données dans un DataSet

J'ai un jeu de données avec plusieurs tables de données à l'intérieur. J'affiche les tables de données dans une liste (je ne savais pas à propos de la liaison de données, lorsque j'ai écrit le code). De toute façon, je voudrais supprimer des lignes dans les tables de données à l'intérieur de l'ensemble de données.

J'ai essayé ceci:

foreach (DataRow row in dsData.Tables["Table1"].Rows)
  {
     //find the row that contains the username I'm after
     if (item.SubItems[2].Text == row["LoginName"].ToString())            
       {
         dsData.Tables["Table1"].Rows.Remove(row); //<- main code of interest
       }
  }

J'ai aussi essayé de

dsData.Tables["Table1".Rows.Delete(row);

Le problème que je rencontre est que lorsque vous supprimez une ligne-je obtenir de l'exception:

Collection a été modifiée; opération d'énumération peut ne pas s'exécuter.

De ce que je comprends, c'est parce que lorsque vous supprimez une ligne à partir d'une ListView la ligne en dessous de ce qu'elle se déplace et les causes de tous ces ennuis. Le code lui-même ce qu'il est censé, mais elle n'est pas agréable de voir que l'exception lorsque lorsque vous l'exécutez.

J'étais sur le point de réécrire l'ensemble de la classe avec un DataGridView mais plutôt de corriger cette seule ligne, si possible :).

EDIT: je ne suis même pas sûr qu'un DataGridView permettrait de résoudre le problème de toute façon.

InformationsquelleAutor user872416 | 2011-08-31