von DPunch » So, 04.11.2012 19:09
Servus
erikafuchs hat geschrieben:Ich hatte gehofft, dass die 6.Zeile den 5. Eintrag in der Liste markiert
Tut sie.
Nur vermutlich hast Du Leerstrings in Deinem Array (z.B. auf den Positionen 0 bis 5?) - Leerstrings ("") sind ein "geschützter" Bestandteil der Listbox, sie stellen den Zustand "Keine Selektion" dar (selectedItemPos = -1).
Willst Du nun weitere Leerstrings hinzufügen, landen diese zwar in der zugrunde liegenden Werteliste der Listbox, werden aber nicht dargestellt.
Als Beispiel:
Die Listbox wird die Einträge "","A","B","C" darstellen, die zugrunde liegende Werteliste enthält aber alle 7 Strings.
Die Anweisung
wird nun aus der Werteliste den 6. Eintrag raussuchen, dessen Wert nehmen und in der Listbox diesen Wert selektieren.
Der zu Index 5 gehörige Wert ist ein Leerstring, der eben geschützt ist und daher nicht selektiert werden kann.
Lösung:
Sorge entweder dafür, dass keine Leerstrings im Array enthalten sind oder selektiere direkt über den zu selektierenden Wert
Code: Alles auswählen
oDialog.getControl("ListBox").selectItem("meinWert",True)
bzw.
Code: Alles auswählen
oDialog.getControl("ListBox").selectItem(aListe(10),True)
Servus
[quote="erikafuchs"]Ich hatte gehofft, dass die 6.Zeile den 5. Eintrag in der Liste markiert[/quote]
Tut sie.
Nur vermutlich hast Du Leerstrings in Deinem Array (z.B. auf den Positionen 0 bis 5?) - Leerstrings ("") sind ein "geschützter" Bestandteil der Listbox, sie stellen den Zustand "Keine Selektion" dar (selectedItemPos = -1).
Willst Du nun weitere Leerstrings hinzufügen, landen diese zwar in der zugrunde liegenden Werteliste der Listbox, werden aber nicht dargestellt.
Als Beispiel:
[code]oListBox.additems(Array("","","A","B","","","C"), 0)[/code]
Die Listbox wird die Einträge "","A","B","C" darstellen, die zugrunde liegende Werteliste enthält aber alle 7 Strings.
Die Anweisung
[code]oDialog.getControl("ListBox").selectItemPos(5,True)[/code]
wird nun aus der Werteliste den 6. Eintrag raussuchen, dessen Wert nehmen und in der Listbox diesen Wert selektieren.
Der zu Index 5 gehörige Wert ist ein Leerstring, der eben geschützt ist und daher nicht selektiert werden kann.
Lösung:
Sorge entweder dafür, dass keine Leerstrings im Array enthalten sind oder selektiere direkt über den zu selektierenden Wert
[code]oDialog.getControl("ListBox").selectItem("meinWert",True)[/code]
bzw.
[code]oDialog.getControl("ListBox").selectItem(aListe(10),True)[/code]