Zoženje seznama s filtrirnimi žetoni
Odprite seznam, ki je že zožen z določenim namenom – „potrdila, ki potečejo v 14 dneh“, do katerih uporabnik pride s klikom na ključni kazalnik na začetni strani –, in uporabniku pokažite, zakaj je seznam krajši, ter mu omogočite, da ta razlog odstrani z enim klikom.
Zahteva WKL Forms Object Library 1.45 ali novejšo različico.
Pregled rešitve
- Filtrirni žeton je poimenovan pogoj WHERE.
WklGrid.AddFilterChip(Name, Caption, Condition)zoži zapise; mreža uporabi(Filter) AND (chip 1) AND (chip 2) ..., enako v pomnilniku in v strežniškem načinu. - Vrstica filtra ga prikaže. Pod zapisi je vsak žeton prikazan kot gumb „Caption ✕“. Klik, tipka Delete na gumbu ali sprožitev (Invoke) z bralnikom zaslona žeton odstrani, zapisi pa se znova preberejo.
- Aplikacija za to izve.
FilterChipRemoved(Name, ByUser)sporoči vsako odstranitev, tako da ji lahko sledita naslov ali ključni kazalnik. - Začetna stran posreduje razlog.
WklKpiCardz nastavljenimKeysprožiClick(Key); lupina prikaže stran s seznamom in doda žeton, ki pripada ključu.
Izvedba
V modulu obrazca lupine frmShell (kartica na začetni strani kpiExpiring s Key = "expiring",
podobrazec strani sfPage):
Option Compare Database
Option Explicit
Private Sub kpiExpiring_Click(ByVal Key As String)
Me!sfPage.SourceObject = "frmPotrdila"
With Me!sfPage.Form!grdPotrdila.Object
.ClearFilterChips
Select Case Key
Case "expiring"
.AddFilterChip "expiring", "poteče v 14 dneh", "Potek Between Date() And Date() + 14"
Case "locked"
.AddFilterChip "locked", "zaklenjeno", "Stanje = 'zaklenjeno'"
End Select
End With
End Sub
V modulu obrazca strani frmCertificates:
Private Sub grdPotrdila_FilterChipRemoved(ByVal Name As String, ByVal ByUser As Boolean)
If ByUser Then Me!lblHeading.Caption = "Vsa potrdila"
End Sub
Opombe
- Žeton z obstoječim imenom nadomesti prejšnjega na istem mestu; vrstica ohrani vrstni red.
RemoveFilterChipsprožiFilterChipRemovedzByUser = False,ClearFilterChipsne sproži ničesar. Filterostane lastni pogoj aplikacije in ne vsebuje žetonov. Filtra JPath ($...) ni mogoče kombinirati z žetoni; dokler so žetoni nastavljeni, ga mreža zavrne.- Žetoni potrebujejo
RecordSource; mreža, vezana le naRecordset(na primer na uporabniškem obrazcu UserForm), jih zavrne. - Žetoni se ne shranijo z obrazcem niti v zapomnjeni razporeditvi stolpcev; nastavite jih vsakič, ko stran odprete z določenim namenom.
- „Počisti filter“ v vrstici odstrani uporabnikove filtre stolpcev, ne pa žetonov.
ShowFilterBar = Falseskrije vrstico; žetoni še vedno veljajo, uporabnik pa jih ne more odstraniti.
Sorodne teme
sl/wiki/msaccess/comctl/how-to/narrow-a-list-with-filter-chips.txt · Last modified: by Wolfgang van der Stille