Fråga : Minskning laddar tid av treen i vb.net 2003

Pröva förmiddag I att ladda en tree från en dataset.  Kodifiera är nedanför.   Problemet är det tar så long för att ladda kodifiera.  Hur kan jag rusa upp ladda.  Thanks > för
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:
" codeBody " " class= undertreeloadall " för Private () objDS.Clear () Dunkel servicetype servicetype = ”SERVAR”, 'Om program = ”ContactLog” därefter daSections = nya SqlDataAdapter (”VALT DISTINKT ÖVERTRÄFFAR 100 den varchar PROCENT omvänden ((10), dbo.tblMHCIntake.dtmIntake, 101) som intakedate, dtmintake, DATENAME (dw, dbo.tblMHCIntake.dtmIntake) SOM dayname FRÅN dbo.tblMHCIntake var dtmintake > '01/01/2005'ORDER VID dbo.tblMHCIntake.dtmIntake DESC”, Connection1) daContent = nya SqlDataAdapter (”VALT DISTINKT ÖVERTRÄFFAR 100 PROCENT tblPatient.strLName + ”,” + tblPatient.strFName, SOM känt, den varchar OMVÄNDEN ((10), tblMHCIntake.dtmIntake, 101) SOM intakedate, DATENAME (dw, dbo.tblMHCIntake.dtmIntake) SOM dayname, tblMHCIntake.dtmIntake, tblMHCIntake.strStaff, den varchar OMVÄNDEN ((10), tblPatient.dtmDOB, 101) SOM dtmdob, tblPatient.strPatientId, tblMHCIntakeDetail.lngIntakeId FRÅN INRE tblMHCIntake SAMMANFOGAR tblMHCIntakeDetail PÅ tblMHCIntake.lngIntakeId = INRE tblMHCIntakeDetail.lngIntakeId SAMMANFOGAR tblLUMHCData PÅ tblMHCIntakeDetail.lngDataId = RÄTT YTTRE tblLUMHCData.lngDataID SAMMANFOGAR tblPatient PÅ tblMHCIntake.lngPatientId = tblPatient.lngPatientId, VAR (tblMHCIntake.dtmIntake > ”1/1/2005”) BESTÄLLA VID tblMHCIntake.dtmIntake DESC”, Connection1), datype = nya SqlDataAdapter (”VALT DISTINKT ÖVERTRÄFFAR 100 PROCENT tblMHCIntakeDetail.lngIntakeId, tblMHCIntakeDetail.lngDataId, tblLUMHCData.strData FRÅN INRE tblMHCIntake SAMMANFOGAR tblMHCIntakeDetail PÅ tblMHCIntake.lngIntakeId = INRE tblMHCIntakeDetail.lngIntakeId SAMMANFOGAR tblLUMHCData PÅ tblMHCIntakeDetail.lngDataId = RÄTT YTTRE tblLUMHCData.lngDataID SAMMANFOGAR tblPatient PÅ tblMHCIntake.lngPatientId = tblPatient.lngPatientId VAR (tblMHCIntake.dtmIntake > ”1/1/2005”) och tblLUMHCData.strtype = ”” & servicetype & ”” ”, Connection1) Försök daSections.Fill (objDS, ”dtSections”) Fånga före detta som undantag MsgBox (före detta. Meddelande) Avsluta försök Försök daContent.Fill (objDS, ”dtContent”) Fånga före detta som undantag MsgBox (före detta. Meddelande) Avsluta försök Försök counttype = datype. Fyll (objDS, ”dtType”) Fånga före detta som undantag MsgBox (före detta. Meddelande) Avsluta försök 'Om program = ”contactLog” därefter 'System.Threading.Thread.Sleep (100000) 'Avsluta om objDS.Relations.Add (”SectionToContent”, _, objDS.Tables (”dtSections”). Kolonner (”dtmIntake”), _, objDS.Tables (”dtContent”). Kolonner (”dtmIntake”)) objDS.Relations.Add (”SectionToType”, _, objDS.Tables (”dtContent”). Kolonner (”lngIntakeId”), _, objDS.Tables (”dtType”). Kolonner (”lngIntakeId”)) nodenew = nya TreeNode nodenew. Text = ”skapar den nya beställarekontakten…”, nodenew. Märka = ”nytt”, TreeView1.Nodes.Add (nodenew) För varje rowSupp i objDS.Tables (”dtSections”). Ror nodeSupp = nya TreeNode nodeSupp.Text = rowSupp (”dtmIntake”) &” - ”& rowSupp (”dayname”) nodeSupp.Tag = ”intag daterar”, Dunkel dotw nodeSupp.Expand () TreeView1.Nodes.Add (nodeSupp) ProgressBar1.Maximum = objDS.Tables (”dtContent”). Rows.Count 'detta ska uppsättningen som de max värderar för att undvika felet, du fick för För varje rowProd i rowSupp.GetChildRows (”SectionToContent”) nodeProd = nya TreeNode nodeProd.Text = rowProd (”intakedate”) &” - ”& rowProd (”strStaff”) &” - ”& rowProd (”namnge”), &” - ”& rowProd (”dtmdob”) &” - ”& rowProd (”strPatientid”) nodeProd.Tag = rowProd (”lngIntakeID”) nodeSupp.Nodes.Add (nodeProd) För varje rowType i rowProd.GetChildRows (”SectionToType”) nodetype = nya TreeNode nodetype. Text = rowType (”strDataen”) nodeProd.Nodes.Add (nodetype) Därefter Application.DoEvents () ProgressBar1.Value += 1 'detta ska förhöjning som värdera efter varje anmärker avslutat Därefter Därefter 'Timer1.Stop () 'TreeView1.ExpandAll () 'TreeView1.SelectedNode = TreeView1.Nodes.Item (2) TreeView1.Focus () pageload = True Avsluta suben
" klar "

Svar : Minskning laddar tid av treen i vb.net 2003

Du kan nå någon tid, genom att använda BeginUpdate () /EndUpdate ():
http://msdn.microsoft.com/en-us/library/system.windows.forms.treeview.beginupdate.aspx
Andra lösningar  
 
programming4us programming4us