Spalten fixieren

Hallo,

Kann man die Spalten fixieren, damit diese immer an der selben Position gedruckt werden?
Ich bin dabei ein Rechnungsformular zu ändern und würde gerne Spalten mit Wert 0 ausblenden. Dabei werden nachfolgende Spalten an die Stelle der ausgeblendeten Spalte verschoben.
Beispiel:
Ich habe eine Position aus folgenden Spalten.
Pos - ME - Bezeichnung - Menge - E-Preis - Rabatt - G-Preis
Wenn ich die Darstellungsbedingung so konfiguriere, dass Rabatt nur angedruckt wird wenn ungleich 0 dann wird die Spalte G-Preis an die Position des Rabattfeldes geschoben.
Wie bekomme ich es hin, dass die nachfolgenden Spalten ihre ursprüngliche Position behalten?
Alternativ, falls das nicht möglich ist, wäre meine Idee den Rabatt in weiß zu drucken wenn der Wert 0 ist. Allerdings weiß ich nicht wie die Formel dafür aussehen muss.
Kann mir jemand einen Tipp geben?

Danke im Voraus
Max

Hier würde ich nicht die Darstellungsbedingung der Spalte Rabatt verwenden, sondern den Inhalt per Formel anzeigen:

Cond(Rabatt<> 0, Rabatt) oder mit String
Cond(Rabatt<>0, FStr$(Rabatt),"")

LG,
Marco

1 Like

Hallo Max,

Willkommen in unserem Forum!

Denkbar wäre zum Beispiel die Spaltenbreiten über eine Formel anzupassen.

Hier beträgt die Spaltenbreite von OrderID die Breite von OrderID + Discount.

Hier das Beispiel für die Demo Applikation:
spaltenbreiten.lsr (44.4 KB)

Ihre Idee den Inhalt in weiß zu drucken könnten Sie folgendermassen umsetzten:

Hallo Onursal,

danke für die Info, ich habe es mit dem Vorschlag von Marco hin bekommen.
Zu dem Andruck in weißer Farbe habe ich noch eine Frage.
Das hat mit der Farbe Grau geklappt aber nicht mit Weiß. Daraufhin habe ich folgenden Beitrag gefunden:
List & Label verwendet eine Kontrastoptimierung, um beispielsweise weißen Text auf weißen Hintergrund zu vermeiden und wechselt dann automatisch auf die Schriftfarbe schwarz. Diese Optimierung lässt sich über die Option LL_OPTION_NOCONTRASTOPTIMIZATION (Index 285, Default: 0) ausschalten:
//LL_OPTION_NOCONTRASTOPTIMIZATION
LL.Core.LlSetOption(285, 1);

Wo setze ich diese Option?
LG
Max

Die Option LL_OPTION_NOCONTRASTOPTIMIZATION kann nur codeseitig gesetzt werde, da es sich hierbei um eine Funktion der List&Label-API handelt. Diese Funktion muss vor dem Aufruf des Designers (LlDefineLayout), sowie vor dem Druck (LlPrint[WithBox]Start()) gesetzt werden.

OK, Danke für die Info