LabVIEWForum.de
Spaltenbreite automatisch anpassen!? - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Spaltenbreite automatisch anpassen!? (/Thread-Spaltenbreite-automatisch-anpassen)

Seiten: 1 2 3


Spaltenbreite automatisch anpassen!? - TSC - 29.07.2009 08:01

Hallo zusammen,

der Titel sagt schon fast alles. Ich würde gerne die Spalten eines Tabellenelements in ihrer Breite optimieren. Für die Zellenhöhe habe ich das gefunden nicht aber für die Breite.

Und wo ich schon mal da bin, ich würde auch gerne wissen, ob man die Spaltenbreite für alle Spalten auf den selben Wert setzen kann.

Bei meiner Suche habe ich immer nur gesehen, dass man dazu das VI einmal laufen lassen muss, und mittels Eigensachaftsknoten und Schleifen durch alle Spalten die Anpassungen vornimmt. Ist das meine einzige Option?

LG
Torsten


Spaltenbreite automatisch anpassen!? - jg - 29.07.2009 08:24

Hallo, Torsten,

in der Hilfe steht doch alles:
[attachment=20034]

Gruß, Jens


Spaltenbreite automatisch anpassen!? - rasta - 29.07.2009 08:25

Hallo Torsten,
im Anhang ein lv86Vorschlag.

Gruß
Ralf


Spaltenbreite automatisch anpassen!? - TSC - 29.07.2009 08:35

@Jens: Ich Suche ja eher nach einer Option, die ich einmal für das Tabellenelement setze und dann passiert der Rest automatisch (genau wie die Option "Zellenhöhe automatisch anpassen" aus dem Kontextmenü des Tabellenelements).

@Rasta: siehe oben

Wink


Spaltenbreite automatisch anpassen!? - jg - 29.07.2009 08:38

' schrieb:@Jens: Ich Suche ja eher nach einer Option, die ich einmal für das Tabellenelement setze und dann passiert der Rest automatisch (genau wie die Option "Zellenhöhe automatisch anpassen" aus dem Kontextmenü des Tabellenelements).
Gibts glaube ich nicht. Aber immerhin brauchst du keine Schleife, um alle Spalten auf dieselbe Breite zu setzen.

Gruß, Jens


Spaltenbreite automatisch anpassen!? - TSC - 29.07.2009 08:47

Ja das ist schon mal ein Vorteil. Dann wäre das nächste Problem, wie kann ich die benötigte Mindestbreite (abhängig vom Zelleninhalt) ermitteln? Dabei ist zu sagen, dass die Einträge in den Zellen immer gleich strukturiert sind (Datum, Uhrzeit, Zahlenwerte mit fester Breite usw.). Ich muss also wirklich nur einmal die SPaltenbreiten setzen und danach kann ich den Krams wieder aus dem Code raus nehmen, muss also nichts Optimiertes sein und auch nicht schön aussehen!


Spaltenbreite automatisch anpassen!? - rolfk - 29.07.2009 09:06

Am besten ginge da wohl eine etwas versteckte Funktion Get Text Rect.vi in der Picture Control Palette. Die benötigt einen Font und den Text und gibt danach ein Rechteck aus dass die Pixelgrösse des Textes angibt. Den Font kannst Du glaube ich zur Laufzeit aus der Tabellenzelle lesen.

Und wenn ich den Code schon drin hätte würde ich den in der Initiliasierung auch drin lassen. Get Text Rect.vi ist intern zwar etwas aufwendig, aber zur Applikationsinitialisierungszeit ist sowas kein Bruch.

Rolf Kalbermatter


Spaltenbreite automatisch anpassen!? - TSC - 29.07.2009 09:36

Das klingt machbar. Ich werde mir ein VI Basteln, welches dann die Formatierung der Tabelle macht. Das kommt in meine Palette so dass es schnell eingebaut werden kann.

Vielen Dank!


Spaltenbreite automatisch anpassen!? - Y-P - 29.07.2009 09:38

Wäre auch nett, wenn Du es dann hier posten könntest. Rolleyes

Gruß Markus


Spaltenbreite automatisch anpassen!? - TSC - 29.07.2009 10:42

ALso dann, hier meine Lösung:

Lv86_img[attachment=19929]

Optimierungsmöglichkeiten:
- für jede Spalte prüfen, in welcher Zeile der Inhalt am größten ist
- Textabstand programmatisch bestimmen?!

LG
Torsten