UnoControlGrid - Spaltenköpfe zentrieren und Spalten optimale Breite

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

Stephan
********
Beiträge: 12369
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

UnoControlGrid - Spaltenköpfe zentrieren und Spalten optimale Breite

Beitrag von Stephan »

Hallo,

ich suche für ein Grid-Steuerelement auf einem Basic-Dialog:

-die Möglichkeit den Text in den Spaltenköpfen zu zentrieren ohne das die Zentrierung auch für die Texte der gesamten Spalte gilt

-die Möglichkeit einer automatischen optimalen Breite bzw. zumindest eine optimale Breite anhand der Texte der Spaltenköpfe bei einem Grid das bisher keine Datensätze enthält

Eine Beispieldatei für ein Grid auf Dialog ist z.B. hier:
http://www.mic-consulting.de/de/artikel ... ridDlg.ods


Am Rande:
warum lässt sich die Eigenschaft "Flexibility" einer Gridspalte nicht auf True setzen, sondern es kommt dabei ein Laufzeitfehler (egal wie "Resizeable" eingestellt ist)? Getestet in LO 5.1.6


Gruß
Stephan
mikeleb
*******
Beiträge: 1315
Registriert: Fr, 09.12.2011 16:50

Re: UnoControlGrid - Spaltenköpfe zentrieren und Spalten optimale Breite

Beitrag von mikeleb »

Hallo Stephan,

die Eigenschaft "Flexibility" einer Gridspalte ist vom Typ long. Du kannst sie also 0 oder 1 setzen.
Was die Aussage der API genau bedeutet, müsste man wahrscheinlich austesten:
If a column has a flexibility greater than 0, it is set in relationship to the flexibility of all other such columns, and the respective widths of the columns are changed in the same relationship.
Soweit ich es gefunden habe, wird die Orientierung der Spalte für diese komplett definiert - wird also nichts.
Gruß,
mikeleb
marcel_at_work
****
Beiträge: 195
Registriert: Sa, 24.04.2010 15:51
Wohnort: Basel [CH]

Re: UnoControlGrid - Spaltenköpfe zentrieren und Spalten optimale Breite

Beitrag von marcel_at_work »

Hallöchen Stephan,

der Thread ist zwar schon länger her, aber ich habe diese Woche (nach 12 Jahren OHNE) auch endlich das Grid-Element für mich entdeckt und mir gestern genau dieselbe Frage gestellt. Die Funktion der Kopf-Zentrierung wird zwar nicht über das GridControl gestellt, aber die Aufgabe lässt sich einfach über ein zweites GridControl realisieren - eins für die Spaltenköpfe und direkt darunter, für die Spalteninhalte. Wenn man diese wenigen Zeilen Code in dieselbe Funktion verpackt, muss man sich auch nie mehr Gedanken darum machen.

Viele Grüße

Marcel
[Win 10 Pro x64/Downgrade 7, AOO 4.1.6 und LO 6.3.0.4]
Antworten