Dynamische Spaltenbreite

Guten Tag,

ich habe bisher in meinen Reports über die DOM API eine Tabelle erstellt.
ColumnWidth wurde von mit mit Beispielsweise folgender Formel bestückt:

TextWidth(“XXXXXX”,“10.0,Arial”) + ((TableWidth() - (TextWidth(“WWWWW”,“10.0,Arial”) + TextWidth(“YYYYY”,“10.0,Arial”))) / Spalten))

Daraus wurde die Breite der einzelnen Spalten berechnet.

Dies hat bis zu dem Update auf Version 21 problemlos funktioniert.
Seit dem Update habe ich aber Verschiebungen in den Zeilen bei den Spalten.

Hat jemand eine Idee wie ich dieses Problem lösen kann?

Vielen Dank

R. Kaiser

Hallo Herr Kaiser,

vielen Dank für Ihren Beitrag.

Denkbar wäre, dass das Verhalten durch die TextWidth()-Funktion ausgelöst wird. Laut Formel wird diese nicht korrekt angewendet. Der zweite Parameter verlangt eine LOGFONT-Struktur (vgl. LOGFONTA (wingdi.h) - Win32 apps | Microsoft Learn) in der Form “{(0,0,0),12,0,0,0,0,400,0,0,0,0,40,0,0,0,
Arial}”.

Um an eine gültige LOGFONT-Struktur zu kommen bedarf es einen kleinen Trick:

Stellen Sie die Default-Schriftart eines Projektes auf die gewünschte Schriftart und speichern Sie das Projekt ab. Öffnen Sie es anschließend mit einem Texteditor und suchen Sie nach “DefFont”. Der Suchtreffer sollte dann wie folgt aussehen:

DefFont={(0,0,0),12.000000,-17,0,0,0,400,0,0,0,0,4,0,0,0,Arial}

Mit freundlichen Grüßen

Christian Rauchfuß
Technischer Support
combit GmbH

Vielen Dank. Damit funktioniert es.

Mit freundlichen Grüßen

R. Kaiser