Questione : Fare diminuire il tempo di carico dell'albero in vb.net 2003

Sto provando a caricare un albero da un gruppo di dati.  Il codice è sotto.   Il problema è esso sta prendendo così lungamente per caricare il codice.  Come posso accelerare il carico.  Thanks class= > " libero " del
> " del codeSnippet " del class= del
class= " lineNumbers " del
class= del
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:
class= treeloadall secondario " del id= " codeSnippet827803 del
Private " notpretty " ()
        objDS.Clear ()
        Servicetype fioco
        servicetype = “SERVIZIO„
        'Se programma = “ContactLog„ allora
        daSections = nuovo SqlDataAdapter (“PRINCIPALE DISTINTO PRESCELTO un convertito di 100 PER CENTO (varchar (10), dbo.tblMHCIntake.dtmIntake, 101) come intakedate, dtmintake, DATENAME (dw, dbo.tblMHCIntake.dtmIntake) COME dayname da dbo.tblMHCIntake dove dtmintake > '01/01/2005'ORDER da dbo.tblMHCIntake.dtmIntake DESC„, Connection1)
        SqlDataAdapter daContent = nuovo (“PRINCIPALE DISTINTO PRESCELTO 100 PER CENTO tblPatient.strLName + “,„ + di tblPatient.strFName nome COSÌ, CONVERTITO (varchar (10), tblMHCIntake.dtmIntake, 101) QUANTO intakedate, DATENAME (dw, dbo.tblMHCIntake.dtmIntake) COME dayname, tblMHCIntake.dtmIntake, tblMHCIntake.strStaff, CONVERTITO (varchar (10), tblPatient.dtmDOB, 101) COME dtmdob, tblPatient.strPatientId, tblMHCIntakeDetail.lngIntakeId da tblMHCIntake INTERNO UNISCONO il tblMHCIntakeDetail SU tblMHCIntake.lngIntakeId = tblMHCIntakeDetail.lngIntakeId INTERNO UNISCONO il tblLUMHCData SU tblMHCIntakeDetail.lngDataId = tblLUMHCData.lngDataID A DESTRA ESTERNO UNISCONO tblPatient SU tblMHCIntake.lngPatientId = tblPatient.lngPatientId DOVE (tblMHCIntake.dtmIntake > “1/1/2005„) ORDINE da tblMHCIntake.dtmIntake DESC„, Connection1)
        datype = nuovo SqlDataAdapter (“il PER CENTO DISTINTO PRESCELTO tblMHCIntakeDetail.lngIntakeId, tblMHCIntakeDetail.lngDataId, tblLUMHCData.strData del PRINCIPALE 100 da tblMHCIntake INTERNO UNISCONO il tblMHCIntakeDetail SU tblMHCIntake.lngIntakeId = tblMHCIntakeDetail.lngIntakeId INTERNO UNISCONO il tblLUMHCData SU tblMHCIntakeDetail.lngDataId = tblLUMHCData.lngDataID A DESTRA ESTERNO UNISCONO tblPatient SU tblMHCIntake.lngPatientId = tblPatient.lngPatientId DOVE (tblMHCIntake.dtmIntake > “1/1/2005„) e tblLUMHCData.strtype = “„ & servicetype & “„ “, Connection1)




      
        Prova
            daSections.Fill (objDS, “dtSections„)
        Fermo ex come eccezione
            MsgBox (ex. Messaggio)

        Prova di conclusione

        Prova
            daContent.Fill (objDS, “dtContent„)
        Fermo ex come eccezione
            MsgBox (ex. Messaggio)

        Prova di conclusione

        Prova

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

        Interferire ex come eccezione
            MsgBox (ex. Messaggio)

        Prova di conclusione
        'Se programma = “contactLog„ allora
        'System.Threading.Thread.Sleep (100000)
        'Concluder se
        objDS.Relations.Add (“SectionToContent„, _
        objDS.Tables (“dtSections„). Colonne (“dtmIntake„), _
        objDS.Tables (“dtContent„). Colonne (“dtmIntake„))


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




        nodenew = nuovo TreeNode
        nodenew. Il testo = “genera il nuovo contatto del cliente…„
        nodenew. Modifica = “nuovo„
        TreeView1.Nodes.Add (nodenew)

        Per ogni rowSupp in objDS.Tables (“dtSections„). File

            nodeSupp = nuovo TreeNode
            nodeSupp.Text = rowSupp (“dtmIntake„) &„ - “& rowSupp (“dayname„)
            nodeSupp.Tag = “data della presa„
            Dotw fioco
            nodeSupp.Expand ()
            TreeView1.Nodes.Add (nodeSupp)
            ProgressBar1.Maximum = objDS.Tables (“dtContent„). Rows.Count 'questo fisserà il valore massimo per evitare l'errore che avete ottenuto prima

            Per ogni rowProd in rowSupp.GetChildRows (“SectionToContent„)
                nodeProd = nuovo TreeNode
                nodeProd.Text = rowProd (“intakedate„) &„ - “& rowProd (“strStaff„) &„ - “& rowProd (“nome„) &„ - “& rowProd (“dtmdob„) &„ - “& rowProd (“strPatientid„)
                nodeProd.Tag = rowProd (“lngIntakeID„)

                nodeSupp.Nodes.Add (nodeProd)
                Per ogni rowType in rowProd.GetChildRows (“SectionToType„)
                    nodetype = nuovo TreeNode
                    nodetype. Testo = rowType (“strData„)
                    nodeProd.Nodes.Add (nodetype)
                Dopo

                Application.DoEvents ()

                ProgressBar1.Value += 1 'questo aumenterà il valore dopo ogni oggetto completato
            Dopo

        Dopo



        'Timer1.Stop ()
        'TreeView1.ExpandAll ()
        'TreeView1.SelectedNode = TreeView1.Nodes.Item (2)
        TreeView1.Focus ()
        il pageload = allinea
    Sommergibile dell'estremità
class= del

Risposta : Fare diminuire il tempo di carico dell'albero in vb.net 2003

Potete guadagnare un certo tempo usando BeginUpdate () /EndUpdate ():
http://msdn.microsoft.com/en-us/library/system.windows.forms.treeview.beginupdate.aspx
Altre soluzioni  
 
programming4us programming4us