jensen363 Seniormester
12. februar 2021 - 14:41 Der er 1 kommentar og
2 løsninger

Søgefunktion som suppplement til eksisterende TreeView control

Har genbrugt en tidligere database hvori jeg har indbygget en TreeView. Jeg har tidligere været ret så begejstret for denne metode til at navigere rundt i de forskellige data, - men kan godt se nogle begrænsninger når der pludselig er mange 'noder id'  at holde styr på.

Jeg har derfor behov for en alternativ/supplerende metode uden at ødelægge hele mit eksisterende setup, - jeg tænker bruger aktiverer en PopUp box hvor der indtastes den 'node id' der ønskes arbejdet med, hvor efter den pågældende række findes når PopUp lukkes igen.

Nogen der har noget tilsvarende / nogen der kan hjælpe ????
zuschlag Juniormester
12. februar 2021 - 15:41 #1
Hej
Måske kan dette bruges
Det virker i min treewiev
svar = txtsøg '''.Text

svar = InputBox("hvad", "Navn...")
  If IsNull(svar) Or svar = "" Then Exit Sub
  For intindex = 1 To a ''''tree.Nodes.Count
  If InStr(1, tree.Nodes(intindex).Text, svar) > 0 Then
  tree.Nodes(intindex).Selected = True

    tree.Nodes(intindex).EnsureVisible

VH Anders
terry Ekspert
12. februar 2021 - 16:35 #2
years since I last used the treeview control so needed to brush-up a bit.

Found a simple example which could be of interest.

Add a textbox(txtSearchFor)  to the form containing the treeview control, then when you enter text into the field the code finds and highlights those found

Private Sub txtSearchFor_Change()
   
    Dim tv As TreeView
    Dim nodNode As Node
    Dim nodFirstFind As Node
   
    'Point to the tree
    Set tv = Me.tvTreeView.Object
   
    'Search for the text and mark each find
    If Len(Me.txtSearchFor.Text & "") > 0 Then
        For Each nodNode In tv.Nodes
            If InStr(1, nodNode.Text, Me.txtSearchFor.Text, vbTextCompare) > 0 Then
                nodNode.Expanded = True
                nodNode.ForeColor = vbGreen
                If nodFirstFind Is Nothing Then
                    Set nodFirstFind = nodNode
                End If
            Else
                nodNode.Expanded = False
                nodNode.ForeColor = vbBlack
            End If
        Next nodNode
    Else
        For Each nodNode In tv.Nodes
            nodNode.ForeColor = vbBlack
        Next
        CollapseNodes tv
    End If
   
    'Select the first one found, or goto the first node if unsuccessful
    If Not nodFirstFind Is Nothing Then
        nodFirstFind.Selected = True
        nodFirstFind.EnsureVisible
    Else
        If Len(Me.txtSearchFor.Text & "") > 0 Then
            MsgBox "The text you specified can not be found", vbInformation
        End If
        GotoFirstNode tv
    End If
   
End Sub
terry Ekspert
12. februar 2021 - 16:43 #3
if you send me your email to ekspertenATsanthell.dk then I can send the example dB. Theres a few other functions required to get it to work correctly
Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester





Premium
Sådan kommer den nye coronapas-app til at se ud
Nu er der ikke længe til, at danskerne får mulighed for at downloade et coronapas, der er mindre afslørende i forhold til brugernes personlie sundhedsoplysninger. Se hvordan det nye pas kommer til at se ud.
Computerworld
Endnu en tragisk ulykke med førerløs Tesla: Musk har store forventninger til ny software
En tragisk dødsulykke i USA i weekenden har sat forøget fokus på Teslas eksisterende semiautomatiske system og det kommende fuldautomatiske, der skal gøre bilerne helt selvkørende.
CIO
Har du rost din mellemleder i dag? Snart er de uddøde - og det er et tab
Computerworld mener: Mellemledere lever livet farligt: Topledelsen får konstant ideer med skiftende hold i virkeligheden, og moden går mod flade agile organisationer. Men mellemlederen er en overset hverdagens helt med et kæmpe ansvar. Her er min hyldest til den ofte latterliggjorte mellemleder.
Job & Karriere
"Vi var nødt til at sige til dem, at I er nødt til at sende ham hjem nu, for han begynder at knække"
"Vi var nødt til at sige til dem, at I er nødt til at sende ham hjem nu, for han begynder at knække"
White paper
Salesforce er blevet populær hos IT-kriminelle – luk sikkerhedshullerne før det går galt
Mange bygger en stor del af deres IT-strategi på Salesforce, men glemmer at sikre cloudplatformen. Læs her, hvordan du forebygger ødelæggende angreb og kritiske datatab.