2

Bedingte Formatierung erstellen

Liebe Ninox-Anwender*innen,

hier ein kurzes Video, wie man die Funktion der "Bedingten Formatierung" nutzen kann.

Die Funktion steht derzeit nur an Text- und Zahlenfeldern zur Verfügung.

Im Beispiel seht ihr wie man Beträge die größer oder kleiner als ein bestimmter Wert sind, farblich hervorheben kann.

 

Beste Grüße 

Jörg

14 Antworten

null
    • marcg2
    • vor 2 Jahren
    • Gemeldet - anzeigen

    für Ja/Nein Felder wäre das ganze noch traumhaft! :-)

    • m2apla gmbh
    • Etienne_Scherrer
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Es gibt keine Möglichkeit die Farbe dynamisch zu wählen oder?
    Und auch die Option eine Regel auf andere Felder oder sogar eine ganze Tabelle zu übertragen  wäre super.

    • Ninox-Professional
    • planoxpro
    • vor 2 Jahren
    • Gemeldet - anzeigen
    Etienne Scherrer said:
    Es gibt keine Möglichkeit die Farbe dynamisch zu wählen oder?

    Hallo, was meinst du mit "dynamisch"? Man kann kann ja mehrere Regeln definieren und diesen unterschiedliche Farben zuordnen. Wüsste jetzt so auf Anhieb nicht, wie es noch "dynamischer" gehen sollte.
     

      • m2apla gmbh
      • Etienne_Scherrer
      • vor 2 Jahren
      • Gemeldet - anzeigen

      planox. pro Ja das habe ich gesehen aber in meinem Fall habe ich eine Tabelle mit ca 40 Einträgen zu denen ich eine Farbe zugewiesen habe in dieser Art.

      Und wenn ich nun die ganze Zeile entsprechend dieser Farbe einfärben möchte muss ich pro Feld 40 Regeln erstellen. Und in der Betreffenden Tabelle sind 10 Felder in der Übersicht. Ich müsste also 400 Regeln erstellen um der ganzen Zeile eine Farbe zu geben die ich bereits in einer anderen Tabelle definiert habe.

      Ich stelle mir die dynamischerere Variante ähnlich dem dynamischen Auswahlfeld vor:

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

      Etienne Scherrer 

      Ja, eine komplette Zeile einzufärben, ist schwierig. Das ginge tatsächlich wohl nur, indem man für jede Spalte (= Feld) entsprechende Bedingungen definieren oder ersatzweise mit Funktionsfeldern arbeiten würde. Ob sich die Formatierung über ein dynamisches Auswahlfeld ganz oder teilweise automatisieren ließe, kann ich nicht sagen, da ich den Kontext nicht kenne. Außerdem könnte es Performance-Probleme geben, wenn für jede Spalte und jede Zeile eine Farbe ermittelt werden muss (egal auf welche Weise). Aber auch das ist nur Spekulation. Auf die Idee, sowas auszuprobieren, bin ich noch nie gekommen.

      Vielleicht bringt Ninox irgendwann mal eine Möglichkeit zur bedingten Formatierung ganzer Zeilen. Mir persönlich hat es bisher aber immer genügt,  ein identifizierendes Feld auszuwählen und das dann entsprechend zu formatieren. Allerdings hatte ich auch noch keine 40 verschiedenen Farben, maximal vier oder fünf.
       

    • Icarus_Ralf_Becker
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Ich nutze die bedingte Formatierung auch an vielen Stellen, wenngleich ich sie lediglich als "Schmuck am Nachhemd" sehe. Ich kann Etienne sehr gut verstehen, denn bei der Erstellung dieser Regeln ist es wie mit allen anderen Feldtypen und deren Konfiguration: Ninox fehlt es an der Möglichkeit, Presets zu speichern und diese bei Bedarf beliebig einzufügen. So müsste man in mühseliger Kleinarbeit die gleichen Konfigurationsschritte zig mal wiederholen, anstatt einmal anzulegen und dann nur noch aus der Schublade zu holen. Das Feature steht aber auch erst seit 3 Jahren in der CR Liste 😉

    • ⭐ Ninox Partnerin - Kennes Digital
    • Stefanie_K
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Super wäre es auch für Datumsfelder, damit man Fristüberschreitungen beispielsweise direkt erkennen kann

    • pulke_06nancy
    • vor 11 Monaten
    • Gemeldet - anzeigen

    Gibt es da schon ein Update, wie es für Datumsfelder, wie  es erwähnte, aussieht? Ich habe mir eine Tabelle erstellt, in der ich meine privaten Bestellungen eingetragen habe. Außer "Bestelldatum", "Soll-Liefertermin" (also was mit der Verkäufer mitteilt) und "Liefertermin", sind alle drei das Daten-Feld Datum.

    Da hätte ich gerne den Abgleich gemacht, dass das Daten-Feld "Liefertermin" das Daten-Feld "Soll-Liefertermin anschaut und wenn es um einen Tag über dem angegebenen Datum überschritten ist, mir die Zelle z. B. rot einfärbt.

    Bei Zahlenfeld habe ich nicht rausgefunden, ob ich das irgendwie als Datum umbauen könnte, weil da, wie beim Textfeld, die bedingte Formatierung möglich ist.

    Gibt es hier ggfs. einen alternativen Weg?

      • Kruna
      • vor 11 Monaten
      • Gemeldet - anzeigen

      da fällt mir spontan ein - falls ich das richtig verstanden habe - dass man mit einem Fromelfeld arbeiten könnte, zB

      let myDate := Datum;
      let myColor := if myDate - 1 >= today() then
              "rgb(244,169,169)"
          else
              "rgb(233,248,229)"
          end;
      styled(text(myDate), myColor)

      Datum ist der Name des Datumfeldes.

       

      gruß Kruna

      • ⭐ Ninox Partnerin - Kennes Digital
      • Stefanie_K
      • vor 11 Monaten
      • Gemeldet - anzeigen

       Kann man, allerdings wirken sich Formelfelder gerade bei Tabellen mit vielen Einträgen negativ auf die Ladezeiten aus.

      • Michi.1
      • vor 8 Monaten
      • Gemeldet - anzeigen

         oh ja... formelfeder wirken am anfang einfach, aber die sind "tödlich" für die Performance.

    • Developer by Smartplanung
    • smartplanung
    • vor 11 Monaten
    • Gemeldet - anzeigen

    Man könnte auch eine neue Spalte hinzufügen und direkt als Formel:

    format(Datum, "DD.MM.YYYY")

    nutzen. Das ist dann glaube ich ein String und die Bedingte Formatierung ist verfügbar. Ansonsten noch ein text() um das format(). In Sachen Performance müsste man einfach testen, ob das gut funktioniert.

    • pulke_06nancy
    • vor 8 Monaten
    • Gemeldet - anzeigen

    Nochmals ein freundliches Hallo in die Runde. :-)

    Ich habe mich in den letzten 2 Monaten nochmals daran versucht, bekomme es aber irgendwie nicht auf die Reihe. Ich hatte @kruna ´s Formel genommen, mit der Abänderung "Datum", wie angegeben.

    @smartplanung Wie genau ist das gemeint? 

    Anbei das aktuelle Gerüst, wie ich es stehen habe. (Screenshot). Wie damals erwähnt, sind "Bestelldatum", "Soll-Liederdatum" und "Lieferdatum" das Daten-Feld Datum.

    Und hier ist ja eine bedingte Formatierung bei der Spaltenanzeige leider gar nicht möglich. Wäre das für Felder wie Datum möglich, wäre das so einfach zu Lösen gewesen. Ich gebe das Lieferdatum ein, drücke Enter und mir hätte es die Spalte sofort in meine gewünschte Farbe geändert. Der Vergleich des Lieferdatum mit dem Soll-Lieferdatum und bei Überschreitung des Wertes des Lieferdatum, bspw. dann eine rote Zelle.

    Da die Funktion bei Spaltenansichten für Daten-Felder wie "Datum" nicht geht, nun die Umwege via Formel, die ich aber bislang nicht hinbekommen habe.

    Im Screenshot habe ich "Testversuch" als Daten-Feld Formel und die Formel von @kruna genommen, mit der Abänderung bei myDate in Zeile 1 auf "Soll-Liefertermin". Aber egal was ich da eintrage, farblich ändert sich es auch bei überschrittenem Datum nicht. Nur, wie in einem anderen Screenshot zu sehen, wenn ich noch kein Datum bei "Lieferdatum" eingegeben habe, dann zeigt es mir das Daten-Feld Formel, mit dem vorgegebenen Namen "Testversuch" in der gewünschten rote Farbe an.

    Was mache ich falsch? Ich würde eigentlich nur gerne in das Daten-Feld Datum, also bei "Lieferdatum" eben den Tag auswählen, an dem ich es erhalten habe und nach der erfolgten Eingabe, sollte es das Feld bzw. die Zelle in eine der gewünschten Farben (nach Vergleich mit dem Soll-Lieferdatum) einfärben.

    Verzeiht mir die vielleicht teils dummen Fragen.

    Grüße
    René

      • Developer by Smartplanung
      • smartplanung
      • vor 8 Monaten
      • Gemeldet - anzeigen

       ersetze deinen Code durch

      format('Soll-Lieferdatum', "DD.MM.YYYY")

      Dann erscheint in den Spalten-Optionen die bedingte Formatierung, wie bei normalen Text-Spalten auch. Dort fügst Du zwei Formatierungen hinzu mit jeweils einer selbst geschriebenen Funktion:

      Rot:

      'Soll-Lieferdatum' < Lieferdatum

      Grün:

      'Soll-Lieferdatum' >= Lieferdatum