Lecture de StringItemList dans une Zone de Liste.
Bonjour,
Dans une zone de liste d'un formulaire de saisie, je veux récupérer le numéro et la chaîne de la valeur sélectionnée par l'utilisateur.
Code:
1 2 3 4 5
| ZL = ThisComponent.Drawpage.getByName("formulaire").getByName("Zone de liste")
index = ZL.SelectedItems(0)
choix = ZL.StringItemList(index) |
Bizarrement j'obtiens index sans problème et une exception sur la ligne du choix !
J'ai aussi essayé getSelectedIem() ou Model.getSelectedItem() et aussi SelectedItem sans davantage de succès.
Je ne comprends pas pourquoi SelectedItems fonctionne et pas StringItemList qui font partie de la même interface ?
Il y a une solution connue ?
Lecture de StringItemList dans une Zone de Liste.
Bonjour,
Je ne sais pas si tu travaille sur CALC
Voici ce que j'utilise : (si çà peux t'aider)
Code:
1 2 3 4 5 6 7 8 9 10
| Dim monCtrl As Object, vueCtrl As Object
Dim oFeuilleActive As Object, lesFormulaires As Object, unFormulaire As Object
Dim sVar As String, index As Integer
oFeuilleActive = ThisComponent.getCurrentController().getActiveSheet()
lesFormulaires = oFeuilleActive.DrawPage.Forms
unFormulaire = lesFormulaires.getByName("formulaire")
monCtrl = unFormulaire.getByName("Zone de liste")
vueCtrl = ThisComponent.CurrentController.getControl(monCtrl)
sVar = vueCtrl.SelectedItem
index = vueCtrl.getSelectedItemPos() |
Cordialement
Utilisation de StringItemList.
Merci pour le code que je vais tester.
Finalement j'ai contourné le problème en écrivant:
Code:
1 2 3
| Sub ListesLiees(Event As Object)
valeur = Event.Source.SelectedItem |
Ce qui donne bien la valeur sélectionnée dans la liste appelante ... et résout le problème. Bien que je m'interroge toujours sur le comportement de StringItemList !
Utilisation de StringItemList.
Bonjour,
Sur la question que tu te pose :
Citation:
Bien que je m'interroge toujours sur le comportement de StringItemList
Petite précision,
StringItemList (Array of Strings) liste de toutes les entrées.
Cette propriété contient la liste des valeurs contenues dans la liste. Avec cette propriété tu ne peux donc pas récupérer la valeur qui a été sélectionnée.
Pour récupérer cette valeur c'est : SelectedItem (String) texte de l'entrée mise en évidence, en lecture seule.
Ci dessous lien vers la propriétés des contrôles (descendre jusqu'à Zones de liste
https://wiki.openoffice.org/wiki/FR/...ntrol_Elements
Cordialement