Bonjour à tous,
j'ai un problème avec une DataTable ou un DataSet si l'on veut.
Je remplis une DataTable avec une procédure stockée. Puis, je créé un DataSet. Dans ce DataSet je vais créer autant de DataTable que j'ai de fonctionnalité dans mes Rows.
Chaque enregistrement se rapporte à un Control, et pour chaque enregistrement je dis la fonctionnalité. J'ai donc plusieurs fois la fonctionnalité encodée dans ma table (je sais c'est redondant c'est pas bien mais c'est la seule sur 80 tables lol).
Et tant que je suis dans la même fonctionnalité j'ajoute dans la même table. Sinon j'en créé une autre et j'ajoute à la nouvelle.
Ma difficulté c'est que je n'arrive pas à copier de la DataTable contenant tout à la DataTable de mon DataSet.
dr est bien garni lors d'ImportRow(dr) : ItemArray me permet de voir les valeurs. Mais lorsque je vais plus loin, j'ai une exception : mon DataSet est vide. Les lignes sont créées mais vide... Pas de colonnes ni rien... C'est ce que me montre le DataSet Visualizer...
Si quelqu'un voit le problème...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 DataTable temp = new DataTable(); ADO.DataTableName = "temp"; temp = ADO.ExecuteStoredProcedure("GetAllContentControl").Tables[ADO.DataTableName]; DataRow drow = temp.Rows[0]; String dataTableName = drow["Functionality"].ToString();//func current table String currentFunctionality; boss.Tables.Add(dataTableName); foreach (DataRow dr in temp.Rows) { currentFunctionality = dr["Functionality"].ToString(); if (dataTableName.Equals(currentFunctionality) == false) { boss.Tables.Add(currentFunctionality);//create new table cause new func dataTableName = currentFunctionality;//change the current data table } //boss.Tables[dataTableName].Rows.Add(dr); //boss.Tables[dataTableName].NewRow(); boss.Tables[dataTableName].ImportRow(dr); Debug.WriteLine(boss.Tables[dataTableName].Rows.Count.ToString()); //Debug.WriteLine(boss.Tables[dataTableName].Rows. }
Merci.
Partager