Barvna shema: Temna
Trenutno dejavna stran: start » sl » Dokumentacija » Orodja za Microsoft Access » WKL Forms Object Library » how-to » Iskanje in filtriranje vozlišč

Iskanje in filtriranje vozlišč

Poiščite vozlišča po besedilu, izbirajte jih eno za drugim in drevo omejite na vozlišča, ki ustrezajo pogoju.

Zahteva WKL Forms Object Library 1.23 ali novejšo različico.

Pregled rešitve

SearchText poudari vsako vozlišče, katerega besedilo vsebuje iskano besedilo, FindNext pa izbira ujemanja; uporabniki dosežejo enako z vrstico za iskanje (Ctrl+F, AllowSearch). Filter skrije vsa vozlišča razen ujemanj pogoja WHERE ali izraza JPath in njihovih prednikov. SelectNode in NodeExists poiščeta posamezno vozlišče po poti.

Izvedba

With Me!Tree1.Object
    .SearchText = "ja"                   ' highlights matches, loaded or not
    Debug.Print .SearchCount & " matches"
    .FindNext                            ' selects the next match; .FindNext True: previous
    .SearchText = ""                     ' ends the search
 
    .Filter = "Aktivno = True"         ' WHERE condition of the record source, like Form.Filter
    .Filter = "$..[?(@.Checked == true)]" ' or JPath over the loaded nodes
    .Filter = ""                         ' shows everything, view as before the filter
 
    If .NodeExists("Evropa\Slovenija") Then .SelectNode "Evropa\Slovenija"
    Debug.Print UBound(.FindNodes("$..[?(@.Level == 2)]")) + 1 & " nodes on level 2"
End With

Opombe

  • Iskanje prešteje največ 1.000 ujemanj. Poizveduje po viru zapisov (LIKE '*text*' nad TextField), razen če je naloženo celotno drevo (LazyLoad = False ali GroupFields); tedaj pregleda naložena vozlišča.
  • Filter WHERE poizveduje po viru zapisov vsakič, ko ga nastavite; pri prepustni poizvedbi se celotna poizvedba izvede na strežniku.
  • Besedilne poti se primerjajo brez razlikovanja velikih in malih črk ter uporabljajo PathSeparator (privzeto poševnica nazaj). Z LazyLoad se naložijo le ravni vzdolž poti.
  • JPath se izvaja nad pogledom JSON, v katerem ima vsako vozlišče Key, Text, ParentKey, Image, SortValue, Checked, Level in Nodes; FindNodes najprej naloži celotno drevo.
  • V vrstici za iskanje se s F3 in Shift+F3 premikate med ujemanji, Enter izbere naslednje, Samo ujemanja pa filtrira na ujemanja.

Sorodne teme

sl/wiki/msaccess/comctl/how-to/search-and-filter.txt · Zadnja sprememba: uporabnika Wolfgang van der Stille