Convertir un DataRow[] pour DataTable sans perdre de son DataSet
Je suis en train de travailler avec des ensembles de données et les tables de données en C#.
Mon premier problème était de savoir comment convertir un DataRow[] objet DataTable, que j'ai résolu avec ce lien:
simple-moyen-pour-convertir-datarow-tableau-de-datatable
Donc, Ce que j'ai fait est le suivant:
//Gets the rows according to the relation
DataRow[] rows = someDataRow.GetChildRows("the_table_relation");
DataTable newDataTable = rows.CopyToDataTable<DataRow>();
Toutes les données que je suis travailler avec est dans un jeu de données unique, donc, mon problème est que mon objet newDataTable
ne contient pas la référence de mon DataSet plus (c'est à dire newDataTable.DataSet
est égal à null
).
Est-il un moyen de faire la conversion sans perte de la référence à mon DataSet??
Espère que quelqu'un pourra m'aider.
Merci d'avance
Rien de spécial, c'est juste un jeu de données avec des tables et des relations entre eux
OriginalL'auteur Dante | 2012-06-29
Vous devez vous connecter pour publier un commentaire.
Sans doute vous avez déjà ont un
DataTable
? Si oui, utiliser un la surcharge deCopyToDataTable
qui prend la existant tableau comme argument:Sinon, pourriez-vous utiliser
DataTableCollection.Ajouter(DataTable)
?OriginalL'auteur Jon Skeet
OriginalL'auteur lady
Je crois que la solution peut être contenue dans Jon Skeet réponse
dataSet.Tables.Add(newDataTable)
Le truc, c'est que le newDataTable ne dispose pas d'un jeu de données à l'enfant de contrôle, mais plutôt un ensemble de données contrôle parent. C'est, un ensemble de données peut contenir des Tables et les newDataTable du jeu de données est le "jeu de données qui possède newDataTable" qui, dans le cas de la table que vous êtes en train de créer ci-dessus est nulle jusqu'ajouté à un ensemble de données.
OriginalL'auteur Dan Norton