Vraag : De ladingstijd van de daling van boom in vb.net 2003

Ik probeer om een boom van een dataset te laden.  De code is hieronder.   Het probleem is het duurt zo lang om de code te laden.  Hoe ik de lading kan versnellen.  Thanks
" codeBody "
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:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
van
Private Subtreeloadall ()
        objDS.Clear ()
        Schemerige servicetype
        servicetype = de „DIENST“
        'Als Programma = „ContactLog“ toen
        daSections = Nieuwe SqlDataAdapter (de „UITGEZOCHTE VERSCHILLENDE BOVENKANT 100 PERCENTEN zet om (varchar (10), dbo.tblMHCIntake.dtmIntake, 101) als intakedate, dtmintake, DATENAME (dw, dbo.tblMHCIntake.dtmIntake) ALS dayname VAN dbo.tblMHCIntake waar dtmintake > '01/01/2005'ORDER DOOR dbo.tblMHCIntake.dtmIntake DESC“, Connection1)
        daContent = ZET om Nieuwe SqlDataAdapter („UITGEZOCHTE VERSCHILLENDE HOOGSTE 100 PERCENTEN tblPatient.strLName + „,“ + tblPatient.strFName AANGEZIEN de naam, OMZET (varchar (10), tblMHCIntake.dtmIntake, 101) ALS intakedate, DATENAME (dw, dbo.tblMHCIntake.dtmIntake) ALS dayname, tblMHCIntake.dtmIntake, tblMHCIntake.strStaff, (varchar (10), tblPatient.dtmDOB, 101) AANGEZIEN dtmdob, tblPatient.strPatientId, tblMHCIntakeDetail.lngIntakeId VAN tblMHCIntake BINNEN tblMHCIntakeDetail OP tblMHCIntake.lngIntakeId = tblMHCIntakeDetail.lngIntakeId BINNEN ZICH AANSLUITEN bij tblLUMHCData OP tblMHCIntakeDetail.lngDataId = tblLUMHCData.lngDataID TOETREDEN JUISTE BUITEN ZICH bij tblPatient OP tblMHCIntake.lngPatientId = tblPatient.lngPatientId WAAR (tblMHCIntake.dtmIntake > „1/1/2005“) ORDE DOOR tblMHCIntake.dtmIntake DESC“, Connection1) AANSLUIT
        datype = Nieuwe SqlDataAdapter („UITGEZOCHTE VERSCHILLENDE BOVENKANT 100 PERCENTEN tblMHCIntakeDetail.lngIntakeId, tblMHCIntakeDetail.lngDataId, tblLUMHCData.strData VAN tblMHCIntake BINNEN TREEDT tblMHCIntakeDetail toe OP tblMHCIntake.lngIntakeId = tblMHCIntakeDetail.lngIntakeId BINNEN AANSLUIT zich bij tblLUMHCData OP tblMHCIntakeDetail.lngDataId = tblLUMHCData.lngDataID JUISTE BUITEN ZICH bij tblPatient OP tblMHCIntake.lngPatientId = tblPatient.lngPatientId WAAR (tblMHCIntake.dtmIntake > „1/1/2005“) en tblLUMHCData.strtype = „“ & servicetype & „“ „, Connection1) AANSLUIT




      
        Probeer
            daSections.Fill (objDS, „dtSections“)
        Vang ex als Uitzondering
            Ex MsgBox (. Bericht)

        Het eind probeert

        Probeer
            daContent.Fill (objDS, „dtContent“)
        Vang ex als Uitzondering
            Ex MsgBox (. Bericht)

        Het eind probeert

        Probeer

            counttype = datype. Vul (objDS, „dtType“)

        Vang ex als Uitzondering
            Ex MsgBox (. Bericht)

        Het eind probeert
        'Als Programma = „contactLog“ toen
        'System.Threading.Thread.Sleep (100000)
        'Beëindig als
        objDS.Relations.Add („SectionToContent“, _
        objDS.Tables („dtSections“). Kolommen („dtmIntake“), _
        objDS.Tables („dtContent“). Kolommen („dtmIntake“))


        objDS.Relations.Add („SectionToType“, _
              objDS.Tables („dtContent“). Kolommen („lngIntakeId“), _
              objDS.Tables („dtType“). Kolommen („lngIntakeId“))




        nodenew = Nieuwe TreeNode
        nodenew. De tekst = „leidt tot het nieuwe Contact van de Cliënt…“
        nodenew. Markering = „nieuw“
        TreeView1.Nodes.Add (nodenew)

        Voor Elke rowSupp in objDS.Tables („dtSections“). Rijen

            nodeSupp = Nieuwe TreeNode
            nodeSupp.Text = rowSupp („dtmIntake“) &“ - „& rowSupp („dayname“)
            nodeSupp.Tag = de „Datum van de Opname“
            Schemerige dotw
            nodeSupp.Expand ()
            TreeView1.Nodes.Add (nodeSupp)
            ProgressBar1.Maximum = objDS.Tables („dtContent“). Rows.Count 'dit zal de maximum waarde plaatsen om de fout te vermijden u voordien werd

            Voor Elke rowProd in rowSupp.GetChildRows („SectionToContent“)
                nodeProd = Nieuwe TreeNode
                nodeProd.Text = rowProd („intakedate“) &“ - „& rowProd („strStaff“) &“ - „& rowProd („naam“) &“ - „& rowProd („dtmdob“) &“ - „& rowProd („strPatientid“)
                nodeProd.Tag = rowProd („lngIntakeID“)

                nodeSupp.Nodes.Add (nodeProd)
                Voor Elke rowType in rowProd.GetChildRows („SectionToType“)
                    nodetype = Nieuwe TreeNode
                    nodetype. Tekst = rowType („strData“)
                    nodeProd.Nodes.Add (nodetype)
                Daarna

                Application.DoEvents ()

                ProgressBar1.Value zullen += 1 'dit de waarde na elk voltooid voorwerp verhogen
            Daarna

        Daarna



        'Timer1.Stop ()
        'TreeView1.ExpandAll ()
        'TreeView1.SelectedNode = TreeView1.Nodes.Item (2)
        TreeView1.Focus ()
        pageload = Waar
    Sub van het eind

Antwoord : De ladingstijd van de daling van boom in vb.net 2003

U kunt wat tijd bereiken door BeginUpdate () /EndUpdate () te gebruiken:
http://msdn.microsoft.com/en-us/library/system.windows.forms.treeview.beginupdate.aspx
Andere oplossingen  
 
programming4us programming4us