optimiser treeview et listview
Bonjour,
Je suis débutante en vb.net.Quand je check mon nœud père tous les noeuds fils sont checkés(je n'utilise pas de récursivité) mais seulement sa prend au moins 25 s pour m'afficher les infos(extraite de l'active directory) dans une listview,j’aimerais une solution pour pouvoir optimiser le traitement.
merci
Code:
1 2 3 4
| Dim tnode As TreeNode
For Each tnode In e.Node.Nodes
tnode.Checked = e.Node.Checked
Next |
Code:
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
| For i = 0 To TreeView1.Nodes(0).GetNodeCount(True) - 1
If TreeView1.Nodes(0).Nodes(i).Checked Then
Dim myCurrentPath As New TreeNode
myCurrentPath = TreeView1.Nodes(0).Nodes(i)
Dim ldap As String = myCurrentPath.Tag
Dim PEntry As New DirectoryEntry(ldap)
Dim nbr_pc As DirectorySearcher = New DirectorySearcher()
Dim nuevoldap As String = myCurrentPath.Tag
Dim ParentEntry As New DirectoryEntry(nuevoldap)
Dim num_user As DirectorySearcher = New DirectorySearcher()
Dim nbre_user As Integer = 0
Dim nbre_pc As Integer = 0
Dim Ch_lentry As New DirectoryEntry(ldappaths)
Dim nb_print_search As DirectorySearcher = New DirectorySearcher()
nb_print_search.PropertiesToLoad.Add("name")
Dim nb_pr As Integer = 0
nbr_pc.SearchRoot = PEntry
nbr_pc.Filter = "(&(objectclass=computer))"
nbr_pc.SearchScope = SearchScope.Subtree
For Each resultat1 As System.DirectoryServices.SearchResult In nbr_pc.FindAll
PEntry = resultat1.GetDirectoryEntry
nbre_pc = nbre_pc + 1
Next
num_user.SearchRoot = ParentEntry
num_user.Filter = "(objectclass=user)"
num_user.SearchScope = SearchScope.Subtree
For Each resultat1 As System.DirectoryServices.SearchResult In num_user.FindAll
ParentEntry = resultat1.GetDirectoryEntry
nbre_user = nbre_user + 1
Next
Dim lvi As ListViewItem = New ListViewItem(New String() {TreeView1.Nodes(0).Nodes(i).Text, nbre_user, nbre_pc})
ListView3.Items.Add(lvi)
ParentEntry = Nothing
End If
Next |