dennis.se Skrevet 22. november 2010 Del Skrevet 22. november 2010 (endret) Heisann, Jeg holder på med et prosjekt, og ting har nå stoppet opp på treeviewen jeg skal lage. Databasen er bygd opp slik: "Parent id" "Child id" "name" Her peker child id direkte på parent id. Hovedkategorier har NULL som child id, og underkategoriene i treeviewen har en child id som peker på parent iden. Teoretisk sett skal det være mulig med et ubegrenset antall underkategorier. Jeg har googlet mye etter dette, og finner pent lite som hjelper. Det jeg finner er for ASP. Kan noen hjelpe meg? Endret 22. november 2010 av dennis.se Lenke til kommentar
GeirGrusom Skrevet 22. november 2010 Del Skrevet 22. november 2010 Du bruker åpenbart TreeView kontrollen til dette. Du må først spørre etter alle parent, derretter lager du en rekursiv funksjon som fyller inn under-elementer. Eksempel: public void GenerateTreeViewParents() { // Hent alle noder som har parent id = 0 var root = GetChildNodes(0).ToArray(); // Tree er TreeView kontrollen din tree.Nodes.AddRange(root); } private IEnumerable<TreeNode> GetChildNodes(int parent_id) { // Bytt ut med eventuell SQL setning her var children = from item in data_source where item.parent_id = parent_id select item; foreach(var child in children) { var new_node = new TreeNode(child.name); foreach(var sub_child in GetChildNodes(child.child_id)) new_node.Nodes.Add(sub_child); // Returner det nye elementet til den kallende funksjonen yield return new_node; } } Lenke til kommentar
dennis.se Skrevet 24. november 2010 Forfatter Del Skrevet 24. november 2010 Hmm, nå er jeg ganske grønn på VB. hvordan bruker jeg GenerateTreeViewParents()? ogmed GetChildNodes(int parent_id), må jeg loope gjennom alle kategoriene i hele databasen da - for å finne ut om hver enkelt har noen underkategorier? er det ikke mulig å gjøre det i funksjonen som lager hovedkategoriene? Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå