Créer hiérarchique de la structure de la classe , en boucle par le biais de la table de données, puis ajouter le parent et l'enfant et le retour de l'objet
Je veux créer une structure de classe qui peuvent représenter les suivantes heirarchichal de la structure des objets de même type
-Parent1
- - Child1
- - - ChildA of Child1
- - - ChildB of Child1
- - Child2
- - - ChildA of Child2
- - - ChildB of Child2
- Parent2
La datatable lignes ont un ID, ParentID, le nom et le niveau de
niveau est O pour les Parents, de 1 pour Enfant de 1 , 2 pour les Enfanta et ainsi de suite
Je suis en mesure de retourner les données de la DB à une table, mais je suis en difficulté après que
toute aide sur la création de la structure de la classe et puis le remplissage de l'objet serait grandement apprécié
Quels sont vos types de ici - sont Enfant1 et Enfant2 différents?
Comment est cette hiérarchie représentée dans votre dataTable ? Pouvez-vous fournir et par l'exemple ?
Les Parents et les enfants sont tous de même type
Comment est cette hiérarchie représentée dans votre dataTable ? Pouvez-vous fournir et par l'exemple ?
Les Parents et les enfants sont tous de même type
OriginalL'auteur cWilk | 2012-05-01
Vous devez vous connecter pour publier un commentaire.
Voici un exemple sur la façon de le faire à l'aide de LINQ. D'abord un sampe datatable. Je suppose que les éléments ont un parent ID de 0.
D'une classe pour représenter chaque élément de données:
Une fonction pour obtenir les enfants d'un élément spécifique:
Une fonction pour créer un article, y compris l'enfant de la collection. Cette fonction de manière récursive en bas de la hiérarchie:
Une fonction permettant d'obtenir des lignes de haut-niveau des éléments:
Mettant tous ensemble:
Un
DataSet
contient unTables
collection. Choisissez la table qui contient les données.ya, je l'ai compris et utilisé - le retour du jeu de résultats.Tables[0] pour obtenir ma table
Merci Martin, c'était d'une grande aide
OriginalL'auteur Martin Liversage
Donné les informations ci-dessus vous pouvez le faire avec une seule classe.
Ici, vous avez reçu un objet qui peut contenir une collection de son propre type comme des enfants, et ainsi, les enfants peuvent contenir des collections de MyItem trop de sous des enfants.
De considérer les éléments suivants:
Il ya de meilleurs moyens de code de l'ajout d'éléments, mais ce il la décompose assez logiquement pour le concept d'être clair.
OriginalL'auteur Jamie Dixon
Voici mon approche.
Commencer avec les données définies dans la question:
Puis il suffit de faire ceci:
Qui donne:
OriginalL'auteur Enigmativity