Dynamische Tabellen in Ansichten filtern
Es gibt eine Tabelle mit Werte
Wert 1
Wert 2
Wert 3
...
Über eine Dynamische Auswahl werden die Werte auswhlbar gemacht.
Nun wird die Tabelle in einer Ansicht dargestellt, bei "normalen" Auswahlfälter kann gefiltert werden, etwa Wert 1 und/ oder Wert 2 - bei der dynamischen Auswahl scheint es nicht möglich zu sein. Welche Möglichkeiten gibt es um zu filtern?
8 Antworten
-
Hallo, vielleicht hilft das weiter (insbesondere Uwes Demo-Datenbank):
-
Ich habe hier dein Beispiel gefunden: https://www.dropbox.com/s/682yh06ze7au34o/AnsichtTeilDynamisch.ninox?dl=0
Aber das ist ziemlich kompliziert, kann nicht ganz folgen.
Prinizipiell suche genau hiernach, jedoch gibt es keine Mehrfach als option, man filtert lediglich nach einem dynamischen Feld
-
Hallo
Gib doch bitte mal ein konkretes Beispiel was gemacht werden soll.Wie sieht die Ansicht aus? (Spalten)
Was soll gefiltert werden? Woher kommen die Filterargumente und wie sehen sie aus?
Wie soll die Filterabfrage aussehen?
Ich habe die DB um Vergleiche erweitert:
Bsp.: RecordWert </>/= Wert1 and/or RecordWert </>/= Wert2 (Datum >= 12.03.2021 and Datum <= 17.05.2021)Für jedes spezielle Filterargument musst du dir eine eigenen Filterabfrage bauen.
Der Vorteil der Beispiel-DB liegt darin, dass man den Filter auf verschiedene Spalten der Ansicht setzen kann und nicht für jede Spalte eine eigene Ansicht zur Verfügung stellen muss.https://www.dropbox.com/s/fk4icmazf2thwpo/AnsichtTeilDynamisch_V1-2.ninox?dl=0
-
Ich habe hier das ganze beispielhaft nachgebaut:
https://www.dropbox.com/s/560ef3amtgf8gfq/Beispiel.ninox?dl=0
-
Hallo
Für einen ausgewählten Wert lautet das Script der Ansicht:if 'Filter Tabelle 1 Wert' then
let vBedingung := text('Filter Tabelle 1 Wert');
select Daten where text('Aus Tabelle 1') = vBedingung
else
select Daten
endDaa funktioniert nicht für mehrere ausgewählte Werte.
Du has nur ein dyn. Auswahlfeld bei dem du nur ein Item auswählen kannst.
Wenn du mehrere Items auswählen möchtest, musst du ein dyn. Mehrfachauswahlfeld einrichten.
Dann stimmt das Script nicht mehr.
Für jeds zusätzliche Item muss die Bedingung erweitert werden.
1 Item: where Feldname = Wert1
2 Items: where Feldname = Wert1 and/or Feldname = Wert2. usw.
Das Musst du dir dann auss den Werten des Auswahlfeldes bauen.
Die Beispieldatenbank macht dieses.
In der Version 3 existiert jetzt auch derVergleich 'Wähle alle Shops, sie der Auswahl entsprechen und filtere das Ergebnis nach dem Preis </=/> Wert X.
https://www.dropbox.com/s/r3qmywttyjd6utf/AnsichtTeilDynamisch_V1-3.ninox?dl=0 -
Danke Uwe,
nein, es werden nicht mehrere Werte "gefiltert" - Lediglich ein Wert aus dem Auswahlfeld, so wie in meinem Beispiel.
if 'Filter Tabelle 1 Wert' then
let vBedingung := text('Filter Tabelle 1 Wert');
select Daten where text('Aus Tabelle 1') = vBedingung
else
select Daten
end
Da stimmt etwas nicht, der code wird da nicht angenommen
-
Ich habe es auf dein Beispiel angewandt.
'Daten' ist der Name der Tabelle. Da musst du stattdessen den Namen deiner Tabelle nehmen der in der Ansicht dargestellt wird. -
YES!! Es funktioniert genau so wie ich es mir gedacht habe. Vielen Vielen DANK Uwe!!!
Content aside
- vor 3 JahrenZuletzt aktiv
- 8Antworten
- 440Ansichten