aus einer listbox eine bestimmte zelle wählen

hi leute!

hab folgendes problem: ich hab mir eine funktion gebastellt die mir aus einer tabelle alle felder anzeigt.
jetzt möchte ich aber eine bestimmte zelle aus der lis´tbox anwählen und damit arbeiten... wie mache ich das?
Hi Anonymous,

es lohnt sich in diesem Fall im Hilfe-Index unter Listbox (Class) zu stoebern. Hier findest du die Methode

GetSelection:

Gets a list of values of all selected cells. ...

Syntax: aListBox.GetSelection
Returns: List

Du muesstest im Skript schreiben:

meineAuswahlListe = meineListbox.GetSelection

Ansonsten ist hier natuerlich ein Grundwissen ueber Steuerelemente hilfreich. Hierzu empfehle ich die ersten ca. 25 Seiten im Handbuch zum Dialog-Designer. Die kann man an einem mittelmaessig spannenden Fernsehabend nebenbei lesen. Allgemeines zu Listen findest du in der Einfuehrung des deutschsprachigen Avenue-Buches.

Gruss

Uwe
hi Uwe,

es ist nicht so, dass ich gar keine zelle auswählen kann. meine funktion gibt mir nur die zelle aus die ich markiert habe. in den steuerelementen habe ich die selection bereits auf auswahl einer ganzen reihe gesetzt. jetzt möchte ich aus dieser markierten reihe eine zelle auswählen. geht das überhaupt? ich möchte nämlich die werte, nur aus der markierten reihe in eine andere tabelle schreiben...
auch ja, DANKE!!!
ich habe in der hilfe gelesen, dass es mit "SetRangeSelect" gehen soll. die einzige frage die ich mir dabei stelle ist: aber wie???
Mit "SetRangeSelect" kannst du ein Script festlegen, daß bei bestimmten Zellen greift. Auch 'ne sehr schöne Funktion, aber wohl kaum das was du brauchst...

Wie Uwe oben schon sagte, kannst du mit aListbox.GetSelection arbeiten. Dann bekommst du eine Liste der selektierten Zellen, auf die du mit .get(0), .get(1) usw. zugreifen kannst. Du solltest vorher aber den SelectionStyle richtig setzen, z.B. auf #LISTBOX_SELECTION_SINGLEROW.
Hallo Gast,

ich vermute, dass uns der Quellcode hier weiterhelfen wuerde. Grundsaetzlich kannst du den Inhalt in der 3. Spalte der 2. ausgewaehlten Zeile abrufen mit:

intZeile = 2
intZeile = 3
strAuswahl = meineErgebnisListe.Get(intZeile - 1).Get(intSpalte - 1)

Siehe auch die zeitgleiche Antwort von Gast2.

Ich hoffe das funktioniert. Sieh dir dazu auch die Beispielliste unter GetList an.

Gruss und viel Erfolg

Uwe
hi @ll,

also es geht jetzt danke!

bei mir reicht es vollkommen aus, die abfrage so zu gestallten:

intZeile = 3
strAuswahl = meineErgebnisListe.Get(intZeile - 1)

dann bekomme ich die zelle, die die nummer 3 hat und in der markierten reihe liegt.

es geht!!!

danke vielmals!