ListBox-Einträge anordnen

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

gigabert
*****
Beiträge: 203
Registriert: Di, 11.08.2009 16:06

ListBox-Einträge anordnen

Beitrag von gigabert »

Hallo,

ich hab in einem Listenfeld pro Zeile drei Felder aus einer Datenbank ausgelesen und nebeneinander angezeigt. Diese werden nun linksbündig nebeneinander geschrieben. Kann ich für das Listenfeld eine Formatierung oder Struktur erreichen, also dass z.B. nur die beiden ersten Werte linksbündig und der dritte Wert rechtsbündig angeordnet sind? Oder gibt es wenigstens ein Steuerzeichen für Tabulator, welches ich zwischen zwei Werten einfügen kann? Oder geht solch eine Strukturierung in Listenfeldern überhaupt nicht, sondern nur in Tabellen-Kontrollfeldern?

Viele Grüsse
Bert
OpenOffice 3.1.1 unter Debian 5.0 und mit PostgreSQL 8.3
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: ListBox-Einträge anordnen

Beitrag von komma4 »

gigabert hat geschrieben:Oder geht solch eine Strukturierung in Listenfeldern überhaupt nicht
Korrekt!
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
eBayer
******
Beiträge: 556
Registriert: Do, 04.12.2008 14:33
Wohnort: Augsburg

Re: ListBox-Einträge anordnen

Beitrag von eBayer »

Hallo Bert,
ich habe das mit einer nichtproportionalen Schrift gelöst..... jedes Zeichen ist gleich breit.
Wenn Du von dieser Variante ausgehst, brauchst Du keine Tabulatoren, sondern Du kannst über die Länge des Strings die Positionierung berechnen.
Gruß eBayer
Intel(R) Core(TM)2 Quad CPU Q8200 @ 2.33GHz mit 4 GB Memory (3,2 GB aktiv)
Vista Home Premium 32 Bit
openOffice 3.1.1 mit Sun Report Builder 1.1.0 und MySql 5.1
Hauptinteresse ooBase seit 12.2008
keksi1970
*****
Beiträge: 464
Registriert: So, 27.01.2008 11:47
Wohnort: DU

Re: ListBox-Einträge anordnen

Beitrag von keksi1970 »

hi, welche Schrift hast du genommen, so daß Zahlen und Buchstaben die selbe "Breite" besitzen ?

LG
Andreas
gigabert
*****
Beiträge: 203
Registriert: Di, 11.08.2009 16:06

Re: ListBox-Einträge anordnen

Beitrag von gigabert »

Danke, ich werde mir diese Möglichkeit mal anschauen. Wäre denn auch ein Tabulator-Steuerzeichen verfügbar, welches ich dort einsetzen könnte? Oder gibt es das nicht?

Viele Grüsse
Bert
OpenOffice 3.1.1 unter Debian 5.0 und mit PostgreSQL 8.3
gigabert
*****
Beiträge: 203
Registriert: Di, 11.08.2009 16:06

Re: ListBox-Einträge anordnen

Beitrag von gigabert »

keksi1970 hat geschrieben:hi, welche Schrift hast du genommen, so daß Zahlen und Buchstaben die selbe "Breite" besitzen ?

LG
Andreas
Ich glaube, die Schriftarten erkennst du am Zusatz "Mono" (für Monospace).
OpenOffice 3.1.1 unter Debian 5.0 und mit PostgreSQL 8.3
eBayer
******
Beiträge: 556
Registriert: Do, 04.12.2008 14:33
Wohnort: Augsburg

Re: ListBox-Einträge anordnen

Beitrag von eBayer »

Courier New ist eine nichtproportionale Schriftart.
Du arbeitest vermutlich unbewusst ständig damit..... im Makroeditor!
Tabulator ist aber nach meiner Einschätzung in der Listbox nicht möglich.
Gruß eBayer
Intel(R) Core(TM)2 Quad CPU Q8200 @ 2.33GHz mit 4 GB Memory (3,2 GB aktiv)
Vista Home Premium 32 Bit
openOffice 3.1.1 mit Sun Report Builder 1.1.0 und MySql 5.1
Hauptinteresse ooBase seit 12.2008
gigabert
*****
Beiträge: 203
Registriert: Di, 11.08.2009 16:06

Re: ListBox-Einträge anordnen

Beitrag von gigabert »

Nee, hab's vorhin mal gefunden und probiert: CHR(9) ist eigentlich das Steuerzeichen für den Tabulator. Hat aber nichts bewirkt. Muss ich bei der Positionsberechnung den Zwischenraum mit einem String mit den errechneten Leerzeichen auffüllen, oder gibt es da eine bessere Methode? Dürfte problematisch werden, wenn die ersten beiden Einträge länger sind und über die Position des dritten Wertes hinausgehen...

Gruss
Bert
OpenOffice 3.1.1 unter Debian 5.0 und mit PostgreSQL 8.3
eBayer
******
Beiträge: 556
Registriert: Do, 04.12.2008 14:33
Wohnort: Augsburg

Re: ListBox-Einträge anordnen

Beitrag von eBayer »

Wenn die ersten beiden Einträge zu lang sind, hast Du mit oder ohne Tab und egal mit welcher Schrift, ein Problem, was aber einfach zu lösen ist.
Erinnere Dich an MID() LEN() und TRIM() und (& oder +)
Zwischenräume sind logischerweise mit Leerzeichen zu erzeugen, wenn Tab nicht geht.
Damit kannst Du auf einfache Weise alles zusammenbauen.
Gruß eBayer
Intel(R) Core(TM)2 Quad CPU Q8200 @ 2.33GHz mit 4 GB Memory (3,2 GB aktiv)
Vista Home Premium 32 Bit
openOffice 3.1.1 mit Sun Report Builder 1.1.0 und MySql 5.1
Hauptinteresse ooBase seit 12.2008
Christiana
***
Beiträge: 62
Registriert: Di, 20.03.2007 11:41

Re: ListBox-Einträge anordnen

Beitrag von Christiana »

Hallo,

na das nenne ich ein Zufall. Ich stand nämlich heute vor dem gleichen Problem und da hast Du, Bert, mir die Anfrage erspart. Deshalb geht mein erstes Dankeschön an Dich.

Mit Deinem Hinweis
eBayer hat geschrieben:Erinnere Dich an MID() LEN() und TRIM() und (& oder +)
hast Du, eBayer, mich in die richtige Richtung gelenkt. Deshalb ein extra großes Dankeschön an Dich! :D

PostgreSQL bietet eine Menge intessanter Funktionen.
Für alle, die vor einem ähnlichen Problem stehen, hier meine Lösung:

Code: Alles auswählen

SELECT to_char(y, '99999990D999'), ...
y ist eine Zahl mit maximal 8 Stellen vor dem Komma und 3 Stellen nach dem Komma

@Bert:
Da Du nach einem Tabulator gesucht hast, dürfte für Dich die Funktion lpad interessant sein.
Lies mal hier nach.

Viele Grüße
Christiana
OOo 3.1 mit WIN XP SP 3 und PostgreSQL 8.2
gigabert
*****
Beiträge: 203
Registriert: Di, 11.08.2009 16:06

Re: ListBox-Einträge anordnen

Beitrag von gigabert »

Christiana hat geschrieben:Hallo,

na das nenne ich ein Zufall. Ich stand nämlich heute vor dem gleichen Problem und da hast Du, Bert, mir die Anfrage erspart. Deshalb geht mein erstes Dankeschön an Dich.

@Bert:
Da Du nach einem Tabulator gesucht hast, dürfte für Dich die Funktion lpad interessant sein.
Lies mal hier nach.

Viele Grüße
Christiana
Cooool, das ist ja eigentlich schon ein Tabulator. Hab das in meinen SELECT eingebaut, und der nächste Wert wird dann immer an der gleichen Stelle angezeigt. Jetzt muss ich das nur noch mit der Schriftgrösse und der Länge der Zeichen anpassen.

Code: Alles auswählen

... rpad(nachname || ', ' || vorname, 25)...
Vielen Dank für den grandiosen Tipp! Diese Seite werde ich mir doch mal noch genauer anschauen. Da werden wohl die ein oder anderen brauchbaren Sachen dabei sein.

Gruss
Bert
OpenOffice 3.1.1 unter Debian 5.0 und mit PostgreSQL 8.3
Antworten