Frage : Lastszeit des Baums in vb.net 2003 verringern

Ich versuche, einen Baum von einem Datensatz zu laden.  Der Code ist unten.   Problem ist es dauert so lang, um den Code zu laden.  Wie ich die Last beschleunigen kann.  Thanks
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:
6:
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:
Private Vortreeloadall ()
        objDS.Clear ()
        Schwaches servicetype
        servicetype = „SERVICE“
        'Wenn Programm = „ContactLog“ dann
        daSections = neues SqlDataAdapter („AUSERWÄHLTE EINDEUTIGE OBERSEITE 100-PROZENT-Bekehrter (varchar (10), dbo.tblMHCIntake.dtmIntake, 101) als intakedate, dtmintake, DATENAME (dw, dbo.tblMHCIntake.dtmIntake) ALS dayname VON dbo.tblMHCIntake, wo dtmintake > '01/01/2005'ORDER DURCH dbo.tblMHCIntake.dtmIntake DESC“, Connection1)
        daContent = neues SqlDataAdapter („AUSERWÄHLTE EINDEUTIGE OBERSEITE 100 PROZENT tblPatient.strLName + „,“ + tblPatient.strFName SO Name, BEKEHRTER (varchar (10), tblMHCIntake.dtmIntake, 101) WIE intakedate, DATENAME (dw, dbo.tblMHCIntake.dtmIntake) ALS dayname, tblMHCIntake.dtmIntake, tblMHCIntake.strStaff, varchar BEKEHRTER ((10), tblPatient.dtmDOB, 101) ALS dtmdob, ANSCHLIESSEN tblPatient.strPatientId, tblMHCIntakeDetail.lngIntakeId vom tblMHCIntake, das INNER ist, tblMHCIntakeDetail AUF tblMHCIntake.lngIntakeId = tblMHCIntakeDetail.lngIntakeId d, das INNER ist, VERBINDEN tblLUMHCData AUF tblMHCIntakeDetail.lngDataId = ÄUSSERES tblLUMHCData.lngDataID NACH RECHTS VERBINDEN tblPatient AUF tblMHCIntake.lngPatientId = tblPatient.lngPatientId, WO (tblMHCIntake.dtmIntake > „1/1/2005“) AUFTRAG DURCH tblMHCIntake.dtmIntake DESC“, Connection1)
        datype = neues SqlDataAdapter („AUSERWÄHLTES EINDEUTIGES OBERSEITEN-ANSCHLIESSEN 100 PROZENT tblMHCIntakeDetail.lngIntakeId, tblMHCIntakeDetail.lngDataId, tblLUMHCData.strData vom tblMHCIntake, das INNER ist, tblMHCIntakeDetail AUF tblMHCIntake.lngIntakeId = tblMHCIntakeDetail.lngIntakeId d, das INNER ist, VERBINDEN tblLUMHCData AUF tblMHCIntakeDetail.lngDataId = ÄUSSERES tblLUMHCData.lngDataID NACH RECHTS VERBINDEN tblPatient AUF tblMHCIntake.lngPatientId = tblPatient.lngPatientId, WO (tblMHCIntake.dtmIntake > „1/1/2005“) und tblLUMHCData.strtype = „“ u. servicetype u. „“ „, Connection1)




      
        Versuch
            daSections.Fill (objDS, „dtSections“)
        Fang ex als Ausnahme
            MsgBox (ex. Mitteilung)

        Enden-Versuch

        Versuch
            daContent.Fill (objDS, „dtContent“)
        Fang ex als Ausnahme
            MsgBox (ex. Mitteilung)

        Enden-Versuch

        Versuch

            counttype = datype. Füllen (objDS, „dtType“)

        Ex als Ausnahme verfangen
            MsgBox (ex. Mitteilung)

        Enden-Versuch
        'Wenn Programm = „contactLog“ dann
        'System.Threading.Thread.Sleep (100000)
        'Beenden wenn
        objDS.Relations.Add („SectionToContent“, _
        objDS.Tables („dtSections“). Spalten („dtmIntake“), _
        objDS.Tables („dtContent“). Spalten („dtmIntake“))


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




        nodenew = neues TreeNode
        nodenew. Text = „verursachen neuen Klienten-Kontakt…“
        nodenew. Umbau = „neu“
        TreeView1.Nodes.Add (nodenew)

        Für jedes rowSupp in objDS.Tables („dtSections“). Reihen

            nodeSupp = neues TreeNode
            nodeSupp.Text = rowSupp („dtmIntake“) u.“ - „u. rowSupp („dayname“)
            nodeSupp.Tag = „Einlass-Datum“
            Schwaches dotw
            nodeSupp.Expand ()
            TreeView1.Nodes.Add (nodeSupp)
            ProgressBar1.Maximum = objDS.Tables („dtContent“). Rows.Count 'dieses einstellt den Maximalwert es, um die Störung zu vermeiden, die Sie vorher erhielten

            Für jedes rowProd in rowSupp.GetChildRows („SectionToContent“)
                nodeProd = neues TreeNode
                nodeProd.Text = rowProd („intakedate“) u.“ - „u. rowProd („strStaff“) u.“ - „u. rowProd („Name“) u.“ - „u. rowProd („dtmdob“) u.“ - „u. rowProd („strPatientid“)
                nodeProd.Tag = rowProd („lngIntakeID“)

                nodeSupp.Nodes.Add (nodeProd)
                Für jedes rowType in rowProd.GetChildRows („SectionToType“)
                    nodetype = neues TreeNode
                    nodetype. Text = rowType („strData“)
                    nodeProd.Nodes.Add (nodetype)
                Zunächst

                Application.DoEvents ()

                ProgressBar1.Value += 1 'dieses erhöht den Wert nach jedem abgeschlossenen Gegenstand
            Zunächst

        Zunächst



        'Timer1.Stopp ()
        'TreeView1.ExpandAll ()
        'TreeView1.SelectedNode = TreeView1.Nodes.Item (2)
        TreeView1.Focus ()
        pageload = ausrichten en
    Enden-Unterseeboot

Antwort : Lastszeit des Baums in vb.net 2003 verringern

Sie können einige Zeit gewinnen, indem Sie BeginUpdate () /EndUpdate verwenden ():
http://msdn.microsoft.com/en-us/library/system.windows.forms.treeview.beginupdate.aspx
Weitere Lösungen  
 
programming4us programming4us