Bonjour,
J'ai repris recemment le développement en .NET, plus particulièrement en CSharp, et à l'heure actuelle je suis bloqué sur une betise mais je ne m'en sort pas.
Voilà ce que j'essaie de faire :
J'ai une table de compétiteurs ayant comme champ le nom d'un Club, à côté de ça j'ai une table pour ces Clubs (nom, Ville).
Je trie mes compétiteurs selon certains critères pour obtenir un DataSet (et une DataTable), et je veux construire une autre DataTable basée sur la liste des Clubs, auquel je rajoute une colonne qui me servira de compteur pour connaitre le nombre de compétiteur par Club.
Jusqu'ici tout marche à peu près sauf que je n'arrives pas à incrémenter ce compteur qui reste à la valeur par défaut (0), en fait j'utilise la méthode SetValue mais ça ne semble pas marcher.
Voici le code :
//Ajout de la colonne Nombre de combattants par club
System.Data.DataColumn cNbrComp = new System.Data.DataColumn();
cNbrComp.ColumnName = "NbCompetiteur";
cNbrComp.DefaultValue = 0;
cNbrComp.DataType = System.Type.GetType("System.Int32" );
dsClubs.Tables["Clubs"].Columns.Add(cNbrComp);
// Définition de la clé primaire
System.Data.DataColumn[] cles = new System.Data.DataColumn[1];
cles[0] = dsClubs.Tables["Clubs"].Columns[0];
dsClubs.Tables["Clubs"].PrimaryKey = cles;
// Récupération du nombre de combattants par clubs
for (int i=0;i<monDS.Tables["Competiteur"].Rows.Count;i++)
{
System.Data.DataRow tempLigne = dsClubs.Tables["Clubs"].Rows.Find(monDS.Tables["Competiteur"].Rows[i].ItemArray[5]);
//System.Windows.Forms.MessageBox.Show(tempLigne.ItemArray[0].ToString() + " " + tempLigne.ItemArray[2].ToString() + " " + ((int) (tempLigne.ItemArray[2])).ToString());
tempLigne.ItemArray.SetValue( (int) (tempLigne.ItemArray.GetValue(2)) + 1, 2);
}
J'ai vérifié que la méthode Find me récupérait bien le bon Club, l'incrementation fonctionne bien, j'obtiens 1 (0 + 1), mais je n'arrives pas à mettre cette valeur dans le DataRow et je ne comprends pas pourquoi, ma colonne n'étant pas en ReadOnly.
Si quelqu'un a une idée, je l'en remercie d'avance.
Michael.
---------------
Membre de la Team HFr OFP -- New Zealand Trip