0

Dynamische Auswahl z.B. aus Mehrzeiligem Textfeld erstellen

Hallo Liebe Community

Ich bin neu hier und neu bei Ninox und habe ein Problem bei welchem Ihr mir sicher helfen könnt. Nämlich möchte ich z.B. in einem mehrzeiligen Textfeld (oder auch in einem anderen Feld wenn das einfacher geht) eine Liste definieren jeweils mit einem Zeilenumbruch oder Trennzeichen getrennt. (Herr, Frau, Familie, usw.) In einer anderen Tabelle möchte ich mit einem dynamischen Auswahlfeld auf dieses Textfeld zugreifen und erreichen dass jede Zeile als eigenen Position in diesem Auswahlfeld erscheint. 

Mein Ziel ist es, dass User die Liste in einem Einstellungstap selber bearbeiten können und dann auf die Auswahl zugreifen. Es gibt mehrere solche Einstellungsauswahlen z.B. auch für Land, Kategorie usw. Ich möchte nicht für jede Auswahl eine neue Tabelle erstellen und suche deshalb die Lösung eine solche Auswahl einfacher über ein z.B. Textfeld vorzugeben. 

Beste Grüsse und vielen Dank für die Hilfe. 
Beat

3 Antworten

null
    • mirko3
    • vor 4 Tagen
    • Gemeldet - anzeigen

    Hi Beat. Das ist eine coole Idee. Der Code für ein dmulti oder dchoice sähe etwa so aus wie unten. Wobei TEXTFELD dein mehrzeiliges Textfeld ist. Gesplittet wird nach dem Zeilenumbruch "\n", was also auch sauber geschrieben werden muß, wenn die Felder editiert werden. Ansonsten brauchst du auch nicht mehrere Tabellen, wenn du mit Kategorien arbeitest und dann den Code für die dmulti danach filterst erhältst du jeweils nur die items, die der Kategorie entsprechen. Ich habe z.B. für 5 dmulti nur eine Tabelle. Mirko

    let captionJSON := splitx(TEXTFELD, "\n");
    let iconJSON := {
            weight: 400,
            filling: 1,
            icon: "favorite",
            color: "#f3766d"
        };
    let colorJSON := "gold";
    let resultJSON := [{}][null];
    for i in range(cnt(captionJSON)) do
        let object := {};
        setItem(object, "id", i + 1);
        setItem(object, "caption", item(captionJSON, i));
        setItem(object, "color", colorJSON);
        setItem(object, "icon", iconJSON);
        resultJSON := array(resultJSON, [object])
    end;
    resultJSON
    
      • mirko3
      • vor 4 Tagen
      • Gemeldet - anzeigen

       geht natürlich auch mit einem einfachen Textfeld, Namen kommagetrennt, dann wäre die erste Zeile.

      let captionJSON := splitx(TEXTFELD, ",\s|,")
    • ICT-Fachmann
    • mac_table
    • vor 4 Tagen
    • Gemeldet - anzeigen

    Hallo Mirko

    Vielen herzlichen dank für die schnelle Lösung. Der Code funktioniert wunderbar und erst noch ausgeschmückt mit Farbe und Symbol. Mehr als ich mir erhofft habe, vielen Dank, das ist genial. 

    Beste Grüsse
    Beat