0

Ja/Nein Feld einfärben

Hallo zusammen,

ich habe ein ja/nein Feld, welches ich in Abhängigkeit von "Ja" rot einfärben möchte.
Alternative wäre ein Feld vom Typ Farbe, welches ich daneben setze und rot zuweise.
Nur wie geht das ???

Konnte leider nirgens etwas dazu finden?

Herzlichen Dank

8 Antworten

null
    • KaNoNix
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Nun, ich habs.
    Habe den Doppelpunkt vergessen bei der Zuweisung ( := )

    if 'Doppelbuchung?' = 1 then
    Farbe := color("red")
    else
    Farbe := "green"
    end

     

    Aber kann man dem Auswahlfeld direkt eine andere Hintergrundfarbe zuweisen?
    Dann könnte ich mir das extra Feld sparen...

    • Ninox-Professional
    • planoxpro
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Moin, was ist es denn nun, ein Ja-/Nein- oder ein Auswahlfeld? Einem Ja-/Nein-Feld kann man keine Farben zuweisen, einem Auswahlfeld schon. Wenn es also nur darum geht, "Ja" in Rot und "Nein" in Grün darzustellen, dann kann man statt des Ja-/Nein-Feldes halt ein Auswahlfeld mit den Einträgen "Ja" und "Nein" nehmen und denen jeweils die gewünschte Farbe zuweisen.

    • KaNoNix
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Test

    • KaNoNix
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Also bisher war es ein Ja/Nein Feld.

    Wie würde das dann gehen mit dem Auswahlfeld, also Farbe zuweisen?

    if 'Doppelbuchung' = "Ja" then ...? Farbe = rot

    • Ninox-Professional
    • planoxpro
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Ich meinte folgendes: Ein Feld vom Typ "Auswahl" erstellen. Dort unter "Liste der möglichen Werte" zwei Einträge vornehmen: "Ja" und "Nein". Diesen beiden Einträgen feste Farben zuordnen. Dann wird je nach Auswahl automatisch die entsprechende Farbe angezeigt.

    NX_Auswahl_JN_Farben

     

    Dieses Auswahlfeld ersetzt dann das vorhandene Ja-/Nein-Feld. Falls es schon Datensätze gibt, deren Werte man übernehmen will, kann man das über die Massendatenänderung machen. Dort in dem neuen Feld 'Auswahl' die Option "Berechneten Wert zuweisen" wählen und als Formel:

     

    if 'Doppelbuchung?' = true then "Ja" else if 'Doppelbuchung?' = false then "Nein" else null end end

    Wenn das geklappt hat, dann kann man das Ja-/Nein-Feld 'Doppelbuchung?' löschen und das neue Feld 'Auswahl' passend umbenennen.

    • Ninox-Professional
    • planoxpro
    • vor 4 Jahren
    • Gemeldet - anzeigen

    PS: Falls das "alte" Ja-/Nein-Feld in irgendwelchen Triggern oder Skripten ausgewertet wird, dann muss man die betreffenden Abfragen natürlich auf das neue Auswahlfeld anpassen.

    • KaNoNix
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Wow, alles klar. Herzlichen Dank.

    Die Datenbank ist noch um Aufbau und ich übernehme alle Buchungen so langsam.

    Es gibt also noch keine Datensätze zum ändern.

    Wichtig wäre eher das Auswerten bzw. Filtern, aber das geht ja.

    Also das mit dem Auswahlfeld wäre ja geklärt.
    Grundsätzlich kann man aber die vorhandenen Felder und Steuerelemente nicht farblich verändern?

    • Ninox-Professional
    • planoxpro
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Nein, zumindest nicht dynamisch per Skript. Für Funktionsfelder gibt es die Option "Style", mit der man das Erscheinungsbild mit Schriftgröße, Farbe usw. festlegen kann.

     

    Will man irgendwelche Werte in Abhängigkeit einer Bedingung farblich hervorheben, dann gibt es aber die Möglichkeit, mit einem zusätzlichen(!) Funktionsfeld zu arbeiten und dort die Funktion styled() zu nutzen, mit der sich die Vorder- und Hintergrundfarbe festlegen und optional ein Icon zuweisen lässt.

     

    Beispiel: Man hat ein Zahlenfeld namens 'Betrag'. Wenn der Wert im Minusbereich ist, dann soll das Feld rot unterlegt sein, ansonsten grün. Dazu könnte man ein Funktionsfeld erstellen und folgenden Code hinterlegen:

     

    if Betrag < 0 then
        styled(text(Betrag), "Red", "", "")
    else
        styled(text(Betrag), "Green", "", "")
    end

     

    Nun könnte man bspw. in der Tabellenübersicht das Feld 'Betrag' aus- und statt dessen das Funktionsfeld einblenden. Dann würde man Minusbeträge sofort erkennen. Das geht auch mit anderen Feldtypen, z. B. Datumsfeldern (Frist überschritten).

    Man muss allerdings beachten, dass alle Werte, die man mit styled() aufbereitet, immer in Texte umgewandelt werden und zumeist lediglich der optischen Aufbereitung dienen. Abfragen und Auswertungen sollten sich also in der Regel auf das eigentliche Datenfeld beziehen (im Beispiel: 'Betrag').