LabVIEWForum.de
Arrayelementgröße - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Arrayelementgröße (/Thread-Arrayelementgroesse)



Arrayelementgröße - DrHoas - 28.09.2008 13:24

Hallo,

ich hab ein Array mit dem Datum in der ersten Spalte (insgesamt zehn Stellen). Alle anderen Spalten enthalten nur jeweils eine Ziffer/Stelle. Gibt es eine Möglichkeit die Breite dieser Spalten zu verkleinern ohne dabei die Breite der ersten Spalte zu verkleinern? Dann bekäme ich mehr Spalten auf den Bildschirm und das Datum wäre trotzdem zu erkennen.

Dank und Gruß

Philipp


Arrayelementgröße - MikeS81 - 28.09.2008 19:03

' schrieb:Hallo,

ich hab ein Array mit dem Datum in der ersten Spalte (insgesamt zehn Stellen). Alle anderen Spalten enthalten nur jeweils eine Ziffer/Stelle. Gibt es eine Möglichkeit die Breite dieser Spalten zu verkleinern ohne dabei die Breite der ersten Spalte zu verkleinern? Dann bekäme ich mehr Spalten auf den Bildschirm und das Datum wäre trotzdem zu erkennen.

Dank und Gruß

Philipp

Hallo Philipp,
mit einem Array ist das nicht möglich, aber du kannst deine Daten in eine Tabelle schreiben.

Mike


Arrayelementgröße - Lucki - 28.09.2008 19:05

Dafür würde ich Dir empfehlen, aus den Zahlen Strings zu machen - vermutlich ist das jetzt schon so - und die Darstellung als Tabelle zu verwenden. Das Tabellenelement ist weiter nichts als ein 2dimensionales String-Array mit zusätzlichem Komfort - wie z.B. der individuellen Einstellung der Spaltenbeite.
Gruß Ludwig


Arrayelementgröße - Y-P - 29.09.2008 08:38

Ich verwende statt einer Tabelle immer eine "Multicolumn Listbox", aber ich denke, das ist Geschmacksache.......

Gruß Markus


Arrayelementgröße - DrHoas - 30.09.2008 16:28

Lucki hat recht, ich hab Strings. Deshalb verwende ich die Tabelle und nicht das Listenfeld.

Danke.

Philipp


Arrayelementgröße - Y-P - 30.09.2008 16:51

Huh In die Listbox schreibst Du doch auch Strings.....

Gruß Markus

' schrieb:Lucki hat recht, ich hab Strings. Deshalb verwende ich die Tabelle und nicht das Listenfeld.

Danke.

Philipp



Arrayelementgröße - DrHoas - 30.09.2008 19:35

' schrieb:Huh In die Listbox schreibst Du doch auch Strings.....
echt? LabVIEW will bei mir I32-Werte. Ich hab auch keine Möglichkeit gefunden das umzustellen.

Inzwischen hab ich aber ein viel kniffligeres Problem: Aus meiner Tabelle möchte ich einzelne Zeilen wieder löschen und zwar beim Klicken auf die Zeile. Ich hab das auch mit einem Eigenschaftsknoten --> Editierpostion --> Aus Array entfernen hinbekommen (siehe v3.vi). Folgende Probleme ergeben sich dabei:

1. Die Anzeige wird erst wieder aktualisiert wenn ich ein neue Zeile schreibe. Nehme ich das Anzeigeelement aus dem True-Case, wird es ständig aktualisiert. Das ist aber nicht nötig.
2. Der False-Case wird ja immer ausgeführt außer ich klicke auf übernehmen. Sind z.B. zehn Zeilen beschrieben und ich klicke zum Löschen von Zeile zwei in diese Zeile, dann ist beim nächsten Schleifendurchgang immer noch Zeile zwei markiert und sie wird wieder und wieder gelöscht. Aktualisiert man die Anzeige (indem man einen neuen Wert hinzufügt), sieht man, dass fast alle Zeilen gelöscht wurden. Der Defaultwert des Eigenschaftenknotens ist -2/-2, will man den Wert aber selber auf -2/-2 festlegen, wird nur Zelle 0/0 markiert.

Vielen Dank für Eure Ideen.

Gruß

Philipp

Lv82_img[attachment=14613]


Arrayelementgröße - jg - 30.09.2008 20:10

Offtopic2
Mal wieder zwischenrein eine öffentliche Anmahnung:
Bei JEDEM VI-Upload die LV-Version mit angeben!

Dann zum Thema:
Multicolumn-Listbox: Setzen der Inhalte erfolgt über die PropertyNode ItemNames, und das ist ein 2D-String-Array.

Und zum Abschluß noch zu deiner Frage: Wieso arbeitest du das nicht mit einer Event-Struktur ab?
Ich würde hierzu:
1. Ein benutzerdefiniertes Kontext-Menü erstellen (wahrscheinlich sogar zur Laufzeit). Da kann man dann den Punkt Zeile löschen auswählen.
2. Dann geht es ähnlich wie bei dir weiter (und doch anders). Aus dem Event bekomme ich Koordinaten des Mausklicks. Dann gehts weiter per InvokeNode "Point To Row Column", und schon kann sauber die entsprechende Zeile/Spalte gelöscht werden.

Folgendes mag als Anregung dienen:

[attachment=14614]

Oder such mal im Forum, ich habe schon Ähnliches für Arrays und/oder Listboxen veröffentlicht.

Gruß, Jens


Arrayelementgröße - DrHoas - 02.10.2008 21:24

ich wusste gar nicht wie Ereignisstrukturen funktionieren, hab mir das jetzt aber mal angeschaut und umgehe so einige Case-Strukturen. Echt genial.

Danke.

Philipp