0

Mehrfach-Auswahlfeld in anderer Tabelle anzeigen

Ich habe ein Auswahlfeld mit 4 Einträgen (Tabelle A)

Dieses Auswahlfeld möchte ich in der Tabelle B (die Tabellen sind verknüpft) 1=1 anzeigen. D.h. nicht nur die Ergebnisse sondern alle Einträge mit und ohne Haken.

10 Antworten

null
    • Geschäftsführerin bei Kennes Digital
    • Stefanie_K
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Hallo Marco Albus ,

    wenn ich das richtig verstanden habe, möchtest du in zwei Tabellen (A + B) auf die Auswahl "Leiter, Absperrung, Zelt" zugreifen. Dafür mein Lösungsvorschlag:

     

    1. Lege eine neue Tabelle namens "Auswahl" o.ä. mit nur einem Textfeld ein. Diese Tabelle kannst du ruhig verstecken.
    2. Lege nun drei (oder mehr) Datensätze in dieser Tabelle an. Einen für Leiter, einen für Absperrung, einen für Zelt.
    3. In den Tabellen A und B kannst du nun dynamische Mehrfachauswahlfelder über das Zahnrad (!) einfügen. Dort gibst du als dynamischen Wert "select Auswahl" (oder wie auch immer deine gerade neu angelegte Tabelle heißt) an. Im Feld "Name des dynamischen Werts" gibst du das Textfeld an.
    4. Du kannst anschließend mit dem Trigger nach Änderung arbeiten. Immer wenn in Tabelle A ein Wert ausgewählt wurde, soll er beim passenden Datensatz in Tabelle B ebenfalls geändert werden.

    Viele Grüße

    Stefanie 

      • mac338
      • vor 1 Jahr
      • Gemeldet - anzeigen

      Stefanie Kennes nein in Tabelle A werden die Felder gefüllt und in Tabelle B soll nur angezeigt werden. Aber nicht nur das Ergebnis sondern auch nicht ausgewählte Einträge inkl. der Haken

      • Geschäftsführerin bei Kennes Digital
      • Stefanie_K
      • vor 1 Jahr
      • Gemeldet - anzeigen

      Marco Albus 

      Vielleicht kannst du den Zweck näher erläutern?

      Anderer Vorschlag:

      1. Lege in Tabelle B ebenfalls ein Mehrfachauswahlfeld an und fülle es mit exakt denselben Werten wie in Tabelle A. Im Feld "schreibbar wenn" trägst du "false" ein. Nachteil: Wenn du die Auswahl in Tabelle A änderst, darfst du nicht vergessen, sie in Tabelle B auch zu ändern. Dieses Problem wäre mit der oben genannten Methode der dynamischen Mehrfachauswahl hinfällig.
      2. Hinter das Mehrfachauswahlfeld in Tabelle A legst du nun folgenden Code bei Trigger nach Änderung  und ersetzt das Wort "Mehrfachauswahl" durch die Namen deiner Felder.

        let my := this;
        'Tabelle B'.(Mehrfachauswahl := numbers(my.Mehrfachauswahl))
    • mirko3
    • vor 1 Jahr
    • Gemeldet - anzeigen

    für diese Ansicht

    würde dieses Script funktionieren:

    let markedItems := join(for i in chosen(TabelleA.Mehfachauswahl) do
            "☑ " + i
        end, " - ");
    let allItems := ["Leiter", "Absperrung", "Zelt", "Bier"];
    let unmarkedItems := join(for i in allItems do
            if not contains(concat(markedItems), i) then
                "□ " + i
            end
        end, " - ");
    let resultUnmarkedItems := if cnt(unmarkedItems) = 0 then
            join(["-"], "")
        else
            unmarkedItems
        end;
    let content := "<style>
    table,td{
        border:thin solid #000;
        border-collapse:collapse;
        }
    td{
          background-color:rgb(94,110,156);
        padding: .5em 1.5em;
        font-size:small;
        }
    tr:nth-child(odd) td{
          background-color: #e4ebf2;
        }
    tr:nth-child(even) td{
          background-color: rgb(133,148,194);
        }
    }
    </style>
    <table>
    <tr>
    <td>" + markedItems + "</td>
    </tr>
    <tr>
    <td>" + resultUnmarkedItems + "</td>
    </tr>
    </table>";
    html(content)
    
      • mac338
      • vor 1 Jahr
      • Gemeldet - anzeigen

      Mirko super vielen Dank. Genau was ich gesucht habe 

      • mac338
      • vor 1 Jahr
      • Gemeldet - anzeigen

      Mirko kann man dies auch noch untereinander anzeigen?

    • mirko3
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Hallo Marco. Da reichen meine html-Kenntnisse auf die Schnelle nicht aus. Ich habe auch html-Tabellen in Benutzung als Ersatz für die Ansicht von Ninox, aber das ist etwas anderes, weil der Zugriff auf records erfolgt. Vielleicht tröstet Dich die etwas übersichtlichere Form wie folgt ;-). Ansonsten tut es mir leid, hier nicht weiterhelfen zu können. Mirko

    let markedItems := join(for i in chosen(TabelleA.Mehfachauswahl) do
            i
        end, " , ");
    let resultMarkedItems := if cnt(markedItems) = 0 then join(["-"], "") else markedItems end;
    let allItems := ["Leiter", "Absperrung", "Zelt", "Bier"];
    let unmarkedItems := join(for i in allItems do
            if not contains(concat(markedItems), i) then
                i
            end
        end, " , ");
    let resultUnmarkedItems := if cnt(unmarkedItems) = 0 then
            join(["-"], "")
        else
            unmarkedItems
        end;
    let content := "<style>
    table,td{
        border:thin solid #000;
        border-collapse:collapse;
        }
    td{
    
        padding: .5em 1.5em;
        font-size:small;
        }
    tr:nth-child(odd) td{
          background-color: rgb(0,127,31);
        }
    tr:nth-child(even) td{
          background-color: rgb(255,127,127);
        }
    }
    </style>
    <table>
    <tr>
    <td>✓</td><td>" + resultMarkedItems + "</td>
    </tr>
    <tr>
    <td>⭘</td><td>" + resultUnmarkedItems + "</td>
    </tr>
    </table>";
    html(content)
    
    • Ninox Solution-Partner
    • RonaldP
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Moin Mirko ,

    coole Sache hast du da gezaubert!
    Zur letzten Frage von Marco Albus ob das auch untereinander geht, kommt mir spontan die Idee, ob es möglich ist den Code-Teil
    join(["-"] statt mit dem "-" mit einem ENTER zu machen...

    join(["
    "]
    

    oder <br> als HTML-Befehl?!

    join(["<br>"]
    

    Hab auf die schnelle keine Ahnung ob die Syntax dafür richtig ist...

    VG
    Ronald

      • mirko3
      • vor 1 Jahr
      • Gemeldet - anzeigen

      DIGITOOL ja, cooles Brainstroming. Vielleicht so:

      let markedItems := join(for i in chosen(TabelleA.Mehfachauswahl) do
              "<br>" + "☑ " + i + "</br>"
          end, "");
      let resultMarkedItems := if cnt(markedItems) = 0 then join(["-"], "") else markedItems end;
      let allItems := ["Leiter", "Absperrung", "Zelt", "Bier"];
      let unmarkedItems := join(for i in allItems do
              if not contains(concat(markedItems), i) then
                  "<br>" + "□ " + i + "</br>"
              end
          end, "");
      let resultUnmarkedItems := if cnt(unmarkedItems) = 0 then
              join(["-"], "")
          else
              unmarkedItems
          end;
      let content := "<style>
      table,td{
          border:thin solid #000;
          border-collapse:collapse;
          }
      td{
            background-color:rgb(94,110,156);
          padding: .5em 1.5em;
          font-size:small;
          }
      tr:nth-child(odd) td{
            background-color: #e4ebf2;
          }
      tr:nth-child(even) td{
            background-color: rgb(133,148,194);
          }
      }
      </style>
      <table>
      <tr>
      <td>" + resultMarkedItems + "</td>
      </tr>
      <tr>
      <td>" + resultUnmarkedItems + "</td>
      </tr>
      </table>";
      html(content)
      
      • mac338
      • vor 1 Jahr
      • Gemeldet - anzeigen

      Mirko sehr cool. 👍

Content aside

  • vor 1 JahrZuletzt aktiv
  • 10Antworten
  • 133Ansichten
  • 3 Folge bereits