Ganze Tabelle filtern mit DAF oder DMAF
Hallo Community;
anstelle des Suchfeldes in der Tabellenansicht, möchte ich mit den Suchkriterien aus der
Tabelle-F.Filtertext alles in der Tabelle1 anzeigen lassen.
Die Aufgabe ist also: Standardfilter mit einem Klick.
Im ersten Schritt soll gefiltert werden mit Dynamischen Auswahlfeld. Evtl. wenns läuft im zweiten Schritt mit Dynamischen Mehrfachauswahlfeld:
- DAF ist in der Tabelle1 zeigt die Tabelle-F.Filtertext
- DMFA wie 1
Bekomme alle Texte beider Tabellen angezeigt, aber nicht gefiltert:
Aktuell Suche in einigen Spalten, es soll aber Alles durchsucht und angezeigt werden.
Code filtert nicht. Suche und teste mir einen Wolf. Jetzt komme ich nicht weiter. Wie sieht Eurer Tip aus?
Spalten der Tabelle-F: Nr;Filtertext
Tabelle1: Nr;Datum;Projekt;Start;Ende;Beschreibung;Einheit;Zuordnung;DAF
let xSuche := (select Tabelle1).lower(text(DAF));
select Tabelle1 where lower(text(Beschreibung)) or lower(text(Projekt)) or lower(text(Zuordnung)) like xSuche
8 Antworten
-
Wir nutzen immer die Funktion testx() für die Suchfunktion von Listen. Das hat bislang immer sehr gut geklappt. Ggf. kann das noch optimiert werden. testx() ist schon fast eine Wissenschaft für sich.
Hier ein Beispiel einer gefilterten Liste von uns:
let current := this;
let search := Suche;
let person := Person;
(select Auftrag
where currentStatus.Sortierung >= 2 and currentStatus.Sortierung <= 4 and
helper_logistikFinished != true and
if search != null then
testx(text(currentStatus.Status) + "," + 'Auftragsnr.' + "," + Objektnummer +
"," +
"keepThisTextAtTheEnd ,", "(?:" + search + ")\.*[^]", "gi")
else
true
end and
if person != null then
Monteur = person
else
true
end) order by -'Erstellt am' -
Danke für die interessanten Kommentare. Habe eine Lösung gefunden die alle Datensätze genau wie die Standardsuche in der Tabellenansicht anzeigt.
Mit DAF - Einzelsuche in den 4 Feldern:
let xSuche := (select Tabelle1).lower(text(DAF));
select Tabelle1
where lower(text(Projekt)) like "" + xSuche + "" or
lower(text(Beschreibung)) like "" + xSuche + "" or
lower(text(Zuordnung)) like "" + xSuche + "" or
lower(text(Datum)) like "" + xSuche + ""
Und nur mit DMAF Mehrfachsuche im Feld Beschreibung:
let xSuche := lower(text(DMAF));
select Tabelle1 where not first(xSuche) or contains(xSuche, lower(text(Beschreibung)))
-
da mir dieser beitrag sehr geholfen hat möchte ich noch eine kleine erweiterung teilen. in meiner mobilen ansicht fürs smartphone arbeite ich immer mit html-cards, weil ich sie hier viel praktischer finde und sie responsiv sind:
let input := keyword; let chosenData := (select Kunden where not input or contains(lower(Anzeigename), lower(input)) or contains(lower(Ort), lower(input))); let css := "<style> body { font-family:system-ui, sans-serif; } .ui-box { background:#ffffff; border:1px solid #d0d7e2; border-radius:8px; padding:10px 12px; margin-bottom:12px; font-size:13px; color:#475569; } .gridFirst { display:grid; grid-template-columns:repeat(auto-fill,minmax(20em, 1fr)); column-gap:12px; row-gap:18px; } .gridSecond { display:grid; grid-template-columns:auto 1fr auto; grid-template-rows:auto max-content; } .gridFormHead { font-weight:600; color:#334155; margin-bottom:4px; font-size:13px; } .gridFormAll { background:#f8f9fb; border:1px solid #e3e8ef; font-size:13px; padding:12px; border-radius:10px; color:#475569; text-align:left; transition:all .12s ease; } .gridFormAll:hover { cursor:pointer; box-shadow:0 2px 5px rgba(0,0,0,0.05); border-color:#cbd5e1; } dt { font-variant:small-caps; color:#64748b; font-size:12px; } de { margin:auto auto auto 1px; text-align:left; color:#334155; } dd { text-align:right; margin:1px; } hr { border:none; border-bottom:1px solid #e2e8f0; margin:8px 0; } .pill { border-radius:.5em; background-color:#1f7aff; color:white; padding:1px 6px; font-size:11px; margin-left:6px; } </style>"; let body := --- <div class='ui-box'>Suche aktiv: <b>{ keyword }</b><br> <span style='font-size:11px;'>Textfeld <i>keyword</i> bearbeiten zum Filtern</span> </div> <aside class='gridFirst'>{ for chosenData in chosenData do } <aside class='gridFormAll'> <aside class='gridFormHead'> <span onclick=ui.popupRecord('{ chosenData }')>{ chosenData.Anzeigename } <span class='pill'>{ chosenData.Ort }</span> </span> </aside> <hr> <dl class='gridSecond'> <de>{ chosenData.Telefon }</de> </dl> </aside>{ end } </aside> ---; html(css + body)
Content aside
- vor 3 TagenZuletzt aktiv
- 8Antworten
- 147Ansichten
-
7
Folge bereits
