LabVIEWForum.de
Listbox automatisch nach unten scrollen lassen! - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Listbox automatisch nach unten scrollen lassen! (/Thread-Listbox-automatisch-nach-unten-scrollen-lassen)

Seiten: 1 2


Listbox automatisch nach unten scrollen lassen! - marcus88 - 27.06.2012 14:04

Hallo erstmal,

und zwar wie man schon im Titel lesen kann möchte ich gerne immer automatisch die letzte Zeile in meiner Listbox anzeigen lassen (weil bei momentanen Zustand die Listbox immer die erste Zeile anzeigt). Nun suche ich schon seit ner Ewigkeit nach einer Lösung, kann aber leider keinen passenden Invoke/Property Node dafür finden! kann es sein, dass es dafür keinen gibt oder ich vllt einfach nur ein anderes Element nutzen sollte wie z.B. ein normalen String?


RE: Listbox automatisch nach unten scrollen lassen! - jg - 27.06.2012 14:15

Aus den folgenden PropertyNodes kannst du das zusammenbauen:
[attachment=40423]
Mit Itemnames und ArraySize weißt du, wieviele Elemente deine Listbox enthält, Number of Rows sagt die, wieviele Zeilen sichtbar sind, und mit TopRow legst du fest, welches die linke obere Zeile ist.

Der Rest ist Rechenarbeit, darfst du machen.

Gruß, Jens


RE: Listbox automatisch nach unten scrollen lassen! - marcus88 - 27.06.2012 14:42

Also, schonmal vielen dank für die schnelle Antwort Jens!
Aber ich hab da son Problem, 1. verstehe ich deine Lösung nicht so recht und 2. glaube ich dass sie für mich nicht wirklich geeignet ist!

In meinem Bsp. wird immer eine neue Zeile geschrieben wenn ich auf einen Button drücke. Das heißt es ist immer eine unterschiedliche Anzahl an Zeilen. ich nutze die Listbox als eine Art Ereignisanzeige, man soll quasi immer sehen was gerade betätigt wurde. Das funktioniert ja auch nach wie vor, aber ich wollte gerne immer die letzte Zeile anzeigen lassen und nicht die erste?

Wie soll ich denn bei dir das mit dem TopRow verstehen? das ist doch die erste Zeile! Wo bekomme ich denn Array Size her?

Grüße Marcus


RE: Listbox automatisch nach unten scrollen lassen! - NWOmason - 27.06.2012 17:15

(27.06.2012 14:42 )marcus88 schrieb:  Wie soll ich denn bei dir das mit dem TopRow verstehen? das ist doch die erste Zeile!

Das ist die oberste Zeile, die in deiner Listbox angezeigt wird. NIcht die erste Zeile der Daten, die du der Listbox übergibst.

(27.06.2012 14:42 )marcus88 schrieb:  Wo bekomme ich denn Array Size her?

Mit Array Size

Beste Grüße,
NWO


RE: Listbox automatisch nach unten scrollen lassen! - marcus88 - 29.06.2012 09:24

Ja also das mit der TopRow hab ich glaube so einigermaßen gerafft, aber wie ich diese jetzt miteinander kombinieren soll damit ich dann wirklich immer die letzte Zeile angezeigt bekomme, hab ich noch nicht so wirklich verstanden! Wäre echt nett wenn mir da jemand helfen könnte!

Hab jetzt schon mehrere Varianten probiert aber das funktioniert alles nicht so wirklich...

Die logischste Variante wäre für mich gewesen, mit Array Size, die Anzahl der Zeilen auszulesen und dann auf das PropertyNode Active Row zu gehen, aber so wirklich klappt das nicht!

Aber die kombination aus den anderen Property Nodes zusammen zu basteln, hab ich noch nciht wirklich verstanden! Bzw, weiß ich auch nciht wirklich wozu die meisten Property Nodes da sind!

Wozu kann ich in diesem Zusammenhang denn die ItemNames benutzen? Ich verstehe nicht was die damit überhaupt zu tuen haben!

...Bitte um Hilfe

Grüße, Marcus


RE: Listbox automatisch nach unten scrollen lassen! - jg - 29.06.2012 09:32

PropertyNode NumRows sagt dir, wieviele Zeilen überhaupt sichtbar sind.
Gesamtanzahl der Zeilen (Array Size) weißt du auch.
TopRow muss also sowas sein wie "Array Size" - "NumRows".

Bsp: Bei 100 Meldungen und 10 Meldungen sichtbar willst du Meldung Nr. 91 als oberstes anzeigen, damit Meldung Nr. 100 noch sichtbar ist.

Gruß, Jens


RE: Listbox automatisch nach unten scrollen lassen! - marcus88 - 29.06.2012 10:17

OK, vielen Dank für die Antwort, jetzt hab ich es Verstanden! Nur ist das Problem, dass ich jetzt immer eine Fehlermeldung bekomme! Und ich glaube das liegt daran, dass es so nicht funktionieren kann, weil ich ja beim Start des Programmes noch keinen Button gedrückt habe, und somit noch keine Zeile in der Listbox steht und deshalb bringt er mir bei den Property Nodes irgendwelche Fehlermeldungen!

Fehlermeldung:Error 1077 occurred at Property Node (arg 1) in xxxx.vi

Possible reason(s):

LabVIEW: Invalid property value.

Property Name: Top Row


Mhhh, von der Logik her müsste es klappen, aber Labview bringt mir jetzt den Fehler also geht es trotzdem noch nciht so richtig.

Wäre nett wenn ihr mir bei diesem Problem weiter helfen würdet, bin ohne euch echt aufgeschmissen.


Grüße, Marcus


RE: Listbox automatisch nach unten scrollen lassen! - BerndDasBrot - 29.06.2012 10:36

(27.06.2012 14:04 )marcus88 schrieb:  Hallo erstmal,

und zwar wie man schon im Titel lesen kann möchte ich gerne immer automatisch die letzte Zeile in meiner Listbox anzeigen lassen (weil bei momentanen Zustand die Listbox immer die erste Zeile anzeigt). Nun suche ich schon seit ner Ewigkeit nach einer Lösung, kann aber leider keinen passenden Invoke/Property Node dafür finden! kann es sein, dass es dafür keinen gibt oder ich vllt einfach nur ein anderes Element nutzen sollte wie z.B. ein normalen String?

Hallo Marcus

Es gibt auch noch die Möglichkeit einen String Indicator zu verwenden. Der hat den Property node Text->ScrollPosition. Dort einfach eine sehr hohe Zahl eingeben (z.B. Hex FFFFFFFF). Dann musst Du nicht rechnen und es wird immer die letzte Zeile angezeigt.

Gruss, BDB


RE: Listbox automatisch nach unten scrollen lassen! - marcus88 - 29.06.2012 10:51

Zitat:Hallo Marcus

Es gibt auch noch die Möglichkeit einen String Indicator zu verwenden. Der hat den Property node Text->ScrollPosition. Dort einfach eine sehr hohe Zahl eingeben (z.B. Hex FFFFFFFF). Dann musst Du nicht rechnen und es wird immer die letzte Zeile angezeigt.

Gruss, BDB
OK, ja das wäre auch ne Möglichkeit. Aber ich finde Text->ScrollPosition leider nicht! Habe nur Label->ScrollPosition gefunden. Und damit geht es nicht, da bleibt er immer indem Feld welches ich manuell per Index ausgewählt habe. ...Mhhh, das kann doch nicht so schwer sein, für dieses Problem eine Lösung zu finden.... Confused

Grüße, Marcus


RE: Listbox automatisch nach unten scrollen lassen! - BerndDasBrot - 29.06.2012 10:57

Dann hast Du sich noch in der Listbox nachgeschaut.

Im String Indicator gibt es diesen Property node!

Gruss, BDB