0

Prüfen ob dynamisches Mehrfachauswahlfeld ausgewählt ist und entsprechendes Feld ein- oder ausblenden

Hallo zusammen,

ich stehe mal wieder auf dem Schlauch und habe viel probiert und hier im Forum gesucht, aber ich komm einfach nicht dahinter.

Eigentlich klingt es ganz einfach:

Ich habe eine dynamische Mehrfachauswahl mit Artikelnamen (aus der Tabelle "Artikel"  mit den Spalten "Artikelname", "Kategorie")).

Sobald ich nun einen Artikel in der Mehrfachauswahl auswähle, möchte ich, dass ein Textfeld oder Zahlenfeld im Formular erscheint (das vorher ausgeblendet ist), in dem ich die Anzahl/Menge des Artikels angeben kann.

Beispiel: Ich wähle den Artikel "Reifen" in der dynamischen Mehrfachauswahl aus. Anschließend soll ein Text- oder Zahlenfeld im Formular erscheinen, das durch "Feld nur anzeigen, wenn:" angezeigt wird, in dem ich dann die Anzahl der Reifen angeben kann.

Einfaches Ansprechen über "Feld nur anzeigen, wenn:" mittels 'Artikel = text("Reifen")' oder etwas dergleichen funktioniert nicht.

Hat jemand einen Tipp? Vielen Dank! 😊

15 Antworten

null
    • ⭐ Ninox Partnerin - Kennes Digital
    • Stefanie_K
    • vor 1 JahrTue, August 15, 2023 at 11:22 AM UTC
    • Gemeldet - anzeigen

    Hallo  ,

    mit numbers('Dynamische Mehrfachauswahl') kannst du die Nummern deiner dyn. Mehrfachauswahl auslesen. Die Nummer entspricht jeweils dem Datensatz aus deiner Quelltabelle, aus der du die Werte deiner Mehrfachauswahl holst.

    Danach musst du mit contains() prüfen, ob der richtige Wert vorhanden ist. Wichtig dabei ist, die Werte mit einem Separator zu trennen. Sonst hast du z.B. wenn du nach "2" suchst, auch Treffer bei "22" oder "231" etc.

    Siehe https://forum.ninox.de/t/q6hsbsa/tabelle-mit-dynamischen-mehrfachauswahlfeld-vergleichen#x2hsdtl

      • mirko3
      • vor 1 JahrTue, August 15, 2023 at 1:00 PM UTC
      • Gemeldet - anzeigen

      Hi . Seitdem contains() jetzt auch Arrays entgegennimmt, ist die Version mit Separator nicht mehr nötig. contains(array,1) ergibt den Treffer auf 1, nicht 11, nicht 111. Gruß Mirko

      • ⭐ Ninox Partnerin - Kennes Digital
      • Stefanie_K
      • vor 1 JahrTue, August 15, 2023 at 1:52 PM UTC
      • Gemeldet - anzeigen

       Ah cool, seit welcher Version ist das so? Ist wohl an mir vorbeigegangen. Vielen Dank für den Hinweis!

      • mirko3
      • vor 1 JahrTue, August 15, 2023 at 2:41 PM UTC
      • Gemeldet - anzeigen

      Seit v3.8. Siehe

      https://forum.ninox.com/t/m1habhz

      • NinoxNewbie
      • schmitz86
      • vor 1 JahrTue, August 15, 2023 at 2:48 PM UTC
      • Gemeldet - anzeigen

       Oh super! Vielen, vielen Dank, es funktioniert! Der Ausdruck mit numbers reicht mir schon für mein Vorhaben. 🙏

      • Maurice
      • vor 1 JahrTue, August 15, 2023 at 11:32 PM UTC
      • Gemeldet - anzeigen

       Oh, contains and index mit array erspart einige Workarounds. Ist die Pflege der Referenz-DB im Webinar Team durch alle möglich? Dort ist noch nichts vermerkt.

      • mirko3
      • vor 1 JahrWed, August 16, 2023 at 8:02 PM UTC
      • Gemeldet - anzeigen

       So ist es zu lesen:

      Mitarbeit erwünscht

      Grundsätzlich ist die Mitarbeit an dieser Referenz aber durchaus erwünscht. Man sollte nur wissen, was man tut. Wer beispielsweise Tipp- oder Rechtschreibfehler sieht, der darf sie selbstverständlich gerne korrigieren. Auch weitere nützliche Beiträge in der Tabelle 'Praxisbeispiele' sind sehr willkommen.

      Magst Du es ergänzen? Mirko

      • Maurice
      • vor 1 JahrThu, August 17, 2023 at 8:14 AM UTC
      • Gemeldet - anzeigen

       Ich habe mal bei contains, index und createZipFile ergänzt.

      In der Referenz-DB ist vom Datentyp "any" nie die Rede (das ist mir bisher bei json-strings begegnet als Datentyp). Gerne kann jemand dort mal gegenlesen/korrigieren/ergänzen.

      Maurice

      • Dirk_Spannaus
      • vor 1 JahrFri, December 15, 2023 at 4:47 PM UTC
      • Gemeldet - anzeigen

       Mhm, hab das versucht um für ein dynamisches Auswahlfeld ebenfalls die Optionen einzuschränken: 

      • die Bedingung "in use" = true funktioniert wunderbar
      • contains auf ein multiple select feld funktioniert leider nicht, wenn "recommended for" nicht nur genau 1, sondern auch 2 ausgewählt hat.
      select Einheiten where 'In use' = true and contains(['recommended for'], 1)
      

       Eigentlich sollte ich so doch prüfen können, ob option 1 ausgewählt wurde?

      • ⭐ Ninox Partnerin - Kennes Digital
      • Stefanie_K
      • vor 1 JahrMon, December 18, 2023 at 7:56 AM UTC
      • Gemeldet - anzeigen

       

      Versuch es mal mit numbers():

      select Einheiten where 'In use' = true and contains(numbers('recommended for'), 1)
      • Ninox-Professional
      • planoxpro
      • vor 1 JahrMon, December 18, 2023 at 9:38 AM UTC
      • Gemeldet - anzeigen

      Oder mit chosen():

      select Einheiten where 'In use' = true and chosen('recommended for', 1)
      • Dirk_Spannaus
      • vor 1 JahrMon, December 18, 2023 at 10:25 AM UTC
      • Gemeldet - anzeigen

      funktioniert! Danke ;)

      • Dirk_Spannaus
      • vor 1 JahrMon, December 18, 2023 at 10:29 AM UTC
      • Gemeldet - anzeigen

      auch diese Variante, wunderbar!

    • Horst_Fertig
    • vor 1 JahrTue, August 15, 2023 at 1:38 PM UTC
    • Gemeldet - anzeigen

    Servus!

    Könnte so funktionieren...

    ...mit "Feld nur anzeigen..." im Feld "TextSichtbarNurWenn"

     let myA := text(MeineMehrfachAuswahl);
    contains(myA, "Axt fehlt")

    oder in "ZahlSichtbarNurWenn" mit...

    let myA := text(MeineMehrfachAuswahl);
    contains(myA, "Schlauch undicht")

    ...oder eben sinngemäß mit "Reifen", etc.

    HTH

    Grüße

    HF

      • NinoxNewbie
      • schmitz86
      • vor 1 JahrTue, August 15, 2023 at 2:53 PM UTC
      • Gemeldet - anzeigen

       Hallo Horst, vielen Dank für deine Hilfe, ich konnte es nun ganz simpel unter "Feld nur anzeigen, wenn" mittels "numbers('Artikel') = X lösen. Aber ich denke, dass die Angabe mit text() nochmal besser für mich ist (der Übersichtlichkeit halber).

      Vielen Dank an euch alle, ihr habt mir alle mal wieder super geholfen! 🥳

Content aside

  • Status Answered
  • vor 1 JahrMon, December 18, 2023 at 10:29 AM UTCZuletzt aktiv
  • 15Antworten
  • 172Ansichten
  • 7 Folge bereits