+1 800 256 3608 (toll-free in North America) or +49 7531 90 60 10| service@combit.com

Zebra Datenzeilen mit Farbe der Übergeordneten Datenzeile


(Guest) #1

Moin,

wir nutzen bei der Artikelauflistung die Zebra-Darstellung. Hin und wieder bekommen Artikel eine Untertabelle, welche SubArtikel darstellen. Leider bekomme ich es nicht hin, dass die Zeilen der Untertabelle die gleiche Farbe wie die Zeilen der Artikeltabelle bekommen.

IST:

Artikel 1 Zebra
Artikel 2 kein Zebra
Artikel 3 Zebra
SubArtikel 1 Zebra
SubArtikel 2 kein Zebra
SubArtikel 3 Zebra
Artikel 4 kein Zebra
SubArtikel 1 Zebra
SubArtikel 2 kein Zebra
SubArtikel 3 Zebra

SOLL:
Artikel 1 Zebra
Artikel 2 kein Zebra
Artikel 3 Zebra
SubArtikel 1 Zebra
SubArtikel 2 Zebra
SubArtikel 3 Zebra
Artikel 4 kein Zebra
SubArtikel 1 kein Zebra
SubArtikel 2 kein Zebra
SubArtikel 3 kein Zebra

Hat hierzu jemand vielleicht eine Idee, wie ich das umsetzen könnte?

Danke und Gruß


(Guest) #2

Idee: nicht über Zebra, sondern Hintergrundfarbe über

SetVar(“Hintergrundfarbe”,if(odd(count(Artikelbezeichnung)),RGB(192,192,192),RGB(255,255,255)))

(hier muß “Artikelbezeichnung” ein Feld aus der oberen Tabelle sein, damit LL weiß, was es zählen muß…)

und Hintergrundfarbe der Untertabellenzeilen über

GetVar(“Hintergrundfarbe”)

Klappt’s?

Paulchen


(Guest) #3

Klappt irgendwie nicht. Die Formelvorschau gibt mir zwar “12632256” aus, aber angezeigt wird leider nichts. Also schon in der übergeordneten Tabelle erscheint die Hintergrundfarbe nicht.

(SetVar(“BGColor”,if(odd(count(A_Glass.GlassID)),Layout.ZebraColor,LL.Color.White))¤)
In der Formelvorschau wird mir hinter der Formel noch ein kleines Zeichen angezeigt. Das habe ich so noch nicht gesehen.


(Guest) #4

Hm, zumindest in der “oberen” Tabelle hätte ich erwartet, daß es geht. Die SetVar_()-Formel hast Du bei “Hintergrundfarbe” eingegeben, “Muster” ist das volle?

Paulchen


(Guest) #5

Ja, das Muster war das volle und die Formel ist bei der Hintergrundfarbe.


(Timo Hügel) #6

Suche gerade die gleiche Lösung.

Kann jemand helfen?

List&Label Version 20


(combit Support - Erdal Alacali) #7

Sehr geehrter Herr Lorenz,
vielen Dank für Ihren Beitrag.

Die Lösung von Herrn Schmidt sollte funktionieren, das Verhalten habe ich gerade mit unserer DemoApplication22 und 20 getestet.

Zum testen wurde hier die Tabelle “Categories” und Untertabelle “Products” verwendet, anstatt Count(Feldname) wurde “CurrentDataLineIndex()” eingesetzt.

Schritte zum setzen der Farbe:
-Tabelle Categories einfügen
-1-2 Felder/Spalten einfügen (Anzahl egal)
-Hintergrundfarbe festlegen z.B.
SetVar(“AktuelleFarbe”, if(Even(CurrentDataLineIndex ()), LL.Color.Blue, LL.Color.Yellow))
-Untertabelle Products hinzufügen
-Spalten auswählen
-Hintergrundfarbe setzen mit
Val(GetVar(“AktuelleFarbe”))

Anbei ein Bild wie es in der Demo mit “Seitenwechselbedingung” True für die oberste Tabelle aussieht.

Mit freundlichen Grüßen

Erdal Alacali
Technischer Support
combit GmbH


(Timo Hügel) #8

Es geht hier doch um “Zebramuster”, nicht um die einfache Färbung der Zellen.

Zebramuster heißt, jede Datenzeile erhält abwechselnd eine Farbe.
Kommt aber zwischendurch eine Untertabelle dazu, soll die Farbe der entsprechenden Datenzeile (je nachdem gelb oder blau) übernommen werden.

Siehe Bild.

03-05-2017-12-54-28.jpg


(Timo Hügel) #9

Gibt es dafür auch eine Lösung?


(Friedemann Kunze) #10

Hallo verehrte Mannschaft,

ich habe mir eben die Anforderung “aus Langeweile” angesehen . Ich denke, dass es doch eigentlich ganz einfach ist bzw. sein sollte.
Da die beiden betreffenden Tabellen sich ja direkt in Relation befinden müsste man beim Ansatz von Herrn Schmidt und Herrn Alacali vermutlich nicht mal eine virtuelle Variable mit SetVar/GetVar verwenden – denn das Kriterium ist ja das gleiche. Und so bin ich dafür vorgegangen:
In der Haupttabelle - hier Categories - die Spalten selektiert und dort die Eigenschaft Hintergrund auf “Muster/feste Farbe” gesetzt und diese Formel für Farbe verwendet:
if(Odd(Categories.CategoryID), LL.Color.Blue, LL.Color.Red)

Das identische habe ich dann auch für die Untertabelle – in diesem Falle Products – gemacht. Ergebnis siehe beigefügter Screenshot - habe auch einmal für LL22 eine Liste für die DemoApplication22.exe dazugepackt; sollte helfen. Ich denke, das sollte die ursprüngliche Anforderung abdecken.

Viel Spaß und beste Grüße!

Zebramuster-lsr.png (0 Bytes)


(Timo Hügel) #11

Danke für den weiteren Hinweis.

Wir wird denn aber der Bezug hergestellt?
Ich denke hier ist eine gemeinsame ID dann erforderlich.

Was tun, wenn ich diese nicht habe?
Ich wollte daher das Zebramuster von der Haupttabelle auf die Untertabelle “vererben”, dann wäre ich ID unabhängig!


(Friedemann Kunze) #12

Hallo,

das Grundprinzip von Master-/Detail-Tabellen ist doch eigentlich immer, dass diese in Relation zueinander stehen. Daher sind dann doch alle Datensätze in der Untertabelle immer in Relation (“ID-Verknüpfung” ergibst sich dadurch implizit) zum aktuellen Hauptdatensatz - eben auch so wie im Beispiel der ursprünglichen Anfrage dieses Threads:
Artikel 1
=> SubArtikel von Artikel 1
=> SubArtikel von Artikel 1
Artikel 2
Artikel 3
=> SubArtikel von Artikel 3
=> SubArtikel von Artikel 3
=> SubArtikel von Artikel 3
Artikel 4
=> SubArtikel von Artikel 4
=> SubArtikel von Artikel 4
=> SubArtikel von Artikel 4

Dadurch muss man dann doch eigentlich gar keinen “Bezug” mehr manuell herstellen?! Oder verstehe ich hier was falsch?

Grüße


(Timo Hügel) #13

Umso besser, aber der Hintergrund wird halt nicht korrekt gesetzt :slight_smile:


(Friedemann Kunze) #14

Also wenn der Hintergrund nicht korrekt gesetzt wird, dann stimmt offenbar was mit der dafür verwendeten Formel nicht. Details - inklusive einer funktionierenden Beispielliste - dazu habe ich ja bereits in meinem vorherigen Post zur Verfügung gestellt. Das dann einfach mal mit der eigenen vergleichen. Wenn die Liste dann dennoch unerwartet nicht funktionieren sollte, obwohl das Layout 1:1 identisch ist, dann könnte es anderenfalls fast nur noch daran liegen das eine andere Version von LL verwendet wird… ich bin hier vom aktuellen LL 22.002 ausgegangen. Ich fürchte, dass sich sonst der combit Support im Detail um das Anliegen kümmern müsste.

Viel Erfolg!