Ordonnée des données dans un TreeView
Bonjour,
en faite j'utilise une BDD utilisant 2 tables. Une contenant les livres loués et l'autres les Utilisateurs qui loués.
Voici les champs des tables
TableLocation :
Code:
1 2 3 4 5
|
Index (Numéros auto-incrémenté et unique)
Nom (Nom du livre loué)
Loué (Mis a 1 si le livre est Loué, mis à 0 si le livre est rendu)
Loueur (Représente l'Index du loueur situé dans l'autre table) |
TableLoueur
Code:
1 2 3 4
|
Index (Numéros auto-incrémenté et unique)
Nom (Nom du loueur)
Adresse (Adresse du loueur) |
J'aimerais bien mettre ces données dans un TreeView avec comme Noeud racine le nom du loueur et comme Noeud enfant les livres qu'il a loué style
Code:
1 2 3 4 5 6 7 8 9 10
|
+Emile Dupont (Noeud racine)
-> Nana (Noeud enfant)
-> Le rouge et le noir
-> Dartagnant
+Jacques Moulin
-> Harry Potter
+Emile Drepes
-> Le dernier juré
-> Dan Brown |
Réccupérer les infos je sais faire mais pas les ordonner dans un TreeView.
Voila ce qui s'affiche avec mon code :
Code:
1 2 3 4 5 6 7 8 9 10
|
+Emile Dupont (Noeud racine)
-> Nana (Noeud enfant)
+Jacques Moulin
-> Harry Potter
+Jacques Moulin
-> Dartagnant
+Emile Drepes
-> Dan Brown
... etc ... |
et le code :
Code:
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 27 28 29 30 31 32
|
int i=0;
Form1Principale->QueryListingCD->SQL->Add((String)"select * FROM Louer");
Form1Principale->QueryListingCD->Open();
Form1Principale->QueryListingCD->First();
Form1Principale->TreeView->Items->Clear();
while(!Form1Principale->QueryListingCD->Eof)
{
// on récupère les champs de la table TableLouer
asLouerNom = Form1Principale->QueryListingCD->FieldByName("Nom")->AsString; //Nom du livre loué
iLouerIndex = Form1Principale->QueryListingCD->FieldByName("Index")->AsInteger; //Index de l'élément loué
iLouerLoueur = Form1Principale->QueryListingCD->FieldByName("Loueur")->AsInteger; //Numéros du Loueur
//On réccupère le nom du loueur a partir de son Index
Form1Principale->QueryListingCDTmp->SQL->Clear();
Form1Principale->QueryListingCDTmp->SQL->Add((String)"select Nom FROM Loueur WHERE Index="+iLoueur);
Form1Principale->QueryListingCDTmp->Open();
Form1Principale->QueryListingCDTmp->First();
asLoueur = Form1Principale->QueryListingCDTmp->FieldByName("Nom")->AsString;
// on ajoute une ligne (a mon avis c'est ici qu'il faut modifier des trucs)
Form1Principale->TreeView->Items->Add(NULL,asLouerLoueur); //Nom du loueur Noeud racine
Form1Principale->TreeView->Items->AddChild(Form1Principale->TreeView->Items->Item[i],asLouerNom); //Livre loué Noeud enfant
i=i+2;
// on passe à la ligne suivante
Form1Principale->QueryListingCD->Next();
} |
MERCI DE VOTRE AIDE