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
' 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
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
Ich verwende statt einer Tabelle immer eine "Multicolumn Listbox", aber ich denke, das ist Geschmacksache.......
Gruß Markus
Lucki hat recht, ich hab Strings. Deshalb verwende ich die Tabelle und nicht das Listenfeld.
Danke.
Philipp

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
' schrieb:
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

[
attachment=14613]

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
ich wusste gar nicht wie Ereignisstrukturen funktionieren, hab mir das jetzt aber mal angeschaut und umgehe so einige Case-Strukturen. Echt genial.
Danke.
Philipp