Pergunta : Diminuir o tempo de carga da árvore em vb.net 2003

Eu estou tentando carregar uma árvore de uma série de dados.  O código está abaixo.   O problema é ele está tomando tão por muito tempo para carregar o código.  Como posso eu acelerar a carga.  Thanks class= > " desobstruído " do
> do " codeSnippet " do class= do
class= " lineNumbers " do
class= do
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 secundário " do id= " codeSnippet827803 do
Private " notpretty " ()
        objDS.Clear ()
        Servicetype não ofuscante
        servicetype = “SERVIÇO”
        'Se programa = “ContactLog” então
        daSections = SqlDataAdapter novo (“PARTE SUPERIOR DISTINTA SELETA converso de 100 POR CENTO (varchar (10), dbo.tblMHCIntake.dtmIntake, 101) como o intakedate, dtmintake, DATENAME (dw, dbo.tblMHCIntake.dtmIntake) COMO o dayname de dbo.tblMHCIntake onde dtmintake > '01/01/2005'ORDER por dbo.tblMHCIntake.dtmIntake DESC”, Connection1)
        SqlDataAdapter daContent = novo (“PARTE SUPERIOR DISTINTA SELETA 100 POR CENTO tblPatient.strLName + “,” + tblPatient.strFName COMO o nome, CONVERSO (varchar (10), tblMHCIntake.dtmIntake, 101) COMO o intakedate, DATENAME (dw, dbo.tblMHCIntake.dtmIntake) COMO o dayname, tblMHCIntake.dtmIntake, tblMHCIntake.strStaff, CONVERSO (varchar (10), tblPatient.dtmDOB, 101) COMO o dtmdob, tblPatient.strPatientId, tblMHCIntakeDetail.lngIntakeId do tblMHCIntake INTERNO JUNTA-SE ao tblMHCIntakeDetail EM tblMHCIntake.lngIntakeId = tblMHCIntakeDetail.lngIntakeId INTERNO JUNTA-SE ao tblLUMHCData EM tblMHCIntakeDetail.lngDataId = tblLUMHCData.lngDataID PARA A DIREITA EXTERIOR JUNTA-SE a tblPatient EM tblMHCIntake.lngPatientId = tblPatient.lngPatientId ONDE (tblMHCIntake.dtmIntake > “1/1/2005”) ORDEM por tblMHCIntake.dtmIntake DESC”, Connection1)
        datype = SqlDataAdapter novo (“POR CENTO DISTINTO SELETO tblMHCIntakeDetail.lngIntakeId da PARTE SUPERIOR 100, tblMHCIntakeDetail.lngDataId, tblLUMHCData.strData do tblMHCIntake INTERNO SE JUNTAM ao tblMHCIntakeDetail EM tblMHCIntake.lngIntakeId = tblMHCIntakeDetail.lngIntakeId INTERNO SE JUNTAM ao tblLUMHCData EM tblMHCIntakeDetail.lngDataId = tblLUMHCData.lngDataID PARA A DIREITA EXTERIOR SE JUNTAM a tblPatient EM tblMHCIntake.lngPatientId = tblPatient.lngPatientId ONDE (tblMHCIntake.dtmIntake > “1/1/2005”) e tblLUMHCData.strtype = “” & servicetype & “” “, Connection1)




      
        Tentativa
            daSections.Fill (objDS, “dtSections”)
        Prendedor ex como a exceção
            MsgBox (ex. Mensagem)

        Tentativa do fim

        Tentativa
            daContent.Fill (objDS, “dtContent”)
        Prendedor ex como a exceção
            MsgBox (ex. Mensagem)

        Tentativa do fim

        Tentativa

            counttype = datype. Encher (objDS, “dtType”)

        Travar ex como a exceção
            MsgBox (ex. Mensagem)

        Tentativa do fim
        'Se programa = “contactLog” então
        'System.Threading.Thread.Sleep (100000)
        'Terminar se
        objDS.Relations.Add (“SectionToContent”, _
        objDS.Tables (“dtSections”). Colunas (“dtmIntake”), _
        objDS.Tables (“dtContent”). Colunas (“dtmIntake”))


        objDS.Relations.Add (“SectionToType”, _
              objDS.Tables (“dtContent”). Colunas (“lngIntakeId”), _
              objDS.Tables (“dtType”). Colunas (“lngIntakeId”))




        nodenew = TreeNode novo
        nodenew. O texto = “cria o contato novo do cliente…”
        nodenew. Tag = “novo”
        TreeView1.Nodes.Add (nodenew)

        Para cada rowSupp em objDS.Tables (“dtSections”). Fileiras

            nodeSupp = TreeNode novo
            nodeSupp.Text = rowSupp (“dtmIntake”) &” - “& rowSupp (“dayname”)
            nodeSupp.Tag = da “data entrada”
            Dotw não ofuscante
            nodeSupp.Expand ()
            TreeView1.Nodes.Add (nodeSupp)
            ProgressBar1.Maximum = objDS.Tables (“dtContent”). Rows.Count 'isto ajustará o valor máximo para evitar o erro que você começ antes

            Para cada rowProd em rowSupp.GetChildRows (“SectionToContent”)
                nodeProd = TreeNode novo
                nodeProd.Text = rowProd (“intakedate”) &” - “& rowProd (“strStaff”) &” - “& rowProd (“nome”) &” - “& rowProd (“dtmdob”) &” - “& rowProd (“strPatientid”)
                nodeProd.Tag = rowProd (“lngIntakeID”)

                nodeSupp.Nodes.Add (nodeProd)
                Para cada rowType em rowProd.GetChildRows (“SectionToType”)
                    nodetype = TreeNode novo
                    nodetype. Texto = rowType (“strData”)
                    nodeProd.Nodes.Add (nodetype)
                Em seguida

                Application.DoEvents ()

                ProgressBar1.Value += 1 'isto aumentará o valor após cada objeto terminado
            Em seguida

        Em seguida



        'Timer1.Stop ()
        'TreeView1.ExpandAll ()
        'TreeView1.SelectedNode = TreeView1.Nodes.Item (2)
        TreeView1.Focus ()
        o pageload = retifica
    Submarino da extremidade
class= do

Resposta : Diminuir o tempo de carga da árvore em vb.net 2003

Você pode ganhar alguma hora usando BeginUpdate () /EndUpdate ():
http://msdn.microsoft.com/en-us/library/system.windows.forms.treeview.beginupdate.aspx
Outras soluções  
 
programming4us programming4us