Avatar billede websam Nybegynder
02. februar 2007 - 11:47 Der er 13 kommentarer og
1 løsning

Folde treeview ud ved klik på link ?

Hejsa,

Jeg har lavet et treeview til en manual over diverse moduler. Mit spørgsmål går på hvordan jeg får treeview'et til at folde ud, udfra et klik på et link på en side ?

/Websam
Avatar billede -xyz- Nybegynder
02. februar 2007 - 12:11 #1
TreeView1.Nodes[i].Expand();
Avatar billede websam Nybegynder
02. februar 2007 - 13:37 #2
Ok når jeg så har et link :

    default.aspx?id=10

hvor 10 er value på en node i mit treeview skal det så være :

    TreeView1.Nodes[10].Expand();

eller hvordan skal jeg forstå det ?
Avatar billede dr_chaos Nybegynder
03. februar 2007 - 23:37 #3
Du skal lave et event som sender info til dit treeview side.
Det er nok mere sandsynligt at du skal bruge Treeview.FindNode("Valupath") til at folde det ud.
Avatar billede websam Nybegynder
05. februar 2007 - 19:45 #4
Hejsa,

Jeg har forsøgt mig med at lave en metode :

protected void ExpandNode(string expandThisNode)
    {
        foreach (TreeNode tn in TreeView1.Nodes)
        {
            tn.Collapse();
        }
        TreeNode tnExpandThisNode = TreeView1.FindNode((string)expandThisNode);
        tnExpandThisNode.Expand();
    }

Men den kommer med en fejl :

Object reference not set to an instance of an object.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.

Source Error:


Line 37:        }
Line 38:        TreeNode tnExpandThisNode = TreeView1.FindNode((string)expandThisNode);
Line 39:        tnExpandThisNode.Expand(); HER LIGGER FEJLEN
Line 40:    }
Line 41: }

Kan du hjælpe mig med den ?
Avatar billede -xyz- Nybegynder
06. februar 2007 - 09:10 #5
det er højest sandsynligt fordi den ikke finder den node du søger, og derfor er den null = NullReferenceException
Avatar billede websam Nybegynder
06. februar 2007 - 12:59 #6
Ok men er det ikke value="10" som eksempel, jeg skal trække fra mit treeview for at få det til at virke ?
Avatar billede dr_chaos Nybegynder
06. februar 2007 - 15:05 #7
prøv at tjekke om tnExpandThisNode  er null efter din find node.
Avatar billede dr_chaos Nybegynder
06. februar 2007 - 15:11 #8
Personligt bruger jeg denne metode til at finde og expande noder:
private void ExpandNodes(string valuepath)
    {
        string[] tmp = valuepath.Split('/');
        string tmpValuePath = string.Empty;
        for (int i = 0; i < tmp.Length; i++)
        {

            if (i == 0)
                tmpValuePath = tmp[i];
            else
                tmpValuePath += "/" + tmp[i];

            TreeNodeEventArgs e = new TreeNodeEventArgs(ProductsTree.FindNode(tmpValuePath));
            e.Node.ChildNodes.Clear();
            e.Node.PopulateOnDemand = false;
            ProductsTree_TreeNodePopulate(ProductsTree, e);
            ProductsTree.FindNode(tmpValuePath).Expand();
            ProductsTree.FindNode(tmpValuePath).Selected = true;
        }
    }
Avatar billede dr_chaos Nybegynder
06. februar 2007 - 15:11 #9
Du kan se valuepath af din node når du holder musen henover den i nederste venstre hjørne af browseren.
Avatar billede websam Nybegynder
06. februar 2007 - 17:48 #10
altså skal jeg forstå det sådan at jeg skal bruge noget i stil med :

side.aspx?node=s0\\2\\20

for at få det til at virke ?
Avatar billede websam Nybegynder
06. februar 2007 - 17:53 #11
Og efter jeg lige har skiftet lidt ud i den kode du viste får jeg denne fejl :

    CS0103: The name 'TreeView1_TreeNodePopulate' does not exist in the current context

i denne linie :

    TreeView1_TreeNodePopulate(TreeView1, e);

hvad skyldes det ?
Avatar billede dr_chaos Nybegynder
06. februar 2007 - 20:03 #12
TreeView1_TreeNodePopulate er en funktion til onNodepopulate event.
Det er fordi jeg på mit treeview tillader clientscript.
Avatar billede websam Nybegynder
17. juni 2007 - 08:57 #13
smid et svar dr_chaos
Avatar billede dr_chaos Nybegynder
19. juni 2007 - 08:40 #14
svar :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester