Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

OpenOffice & LibreOffice Discussion :

Lecture de StringItemList dans une Zone de Liste.


Sujet :

OpenOffice & LibreOffice

  1. #1
    Futur Membre du Club
    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 :Sélectionner tout -Visualiser dans une fenêtre à part
    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 ?

  2. #2
    Membre habitué
    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 :Sélectionner tout -Visualiser dans une fenêtre à part
    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
    Libre Office Version: 6.4.6.2 (x64)
    Windows 10

  3. #3
    Futur Membre du Club
    Utilisation de StringItemList.
    Merci pour le code que je vais tester.

    Finalement j'ai contourné le problème en écrivant:

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    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 !

  4. #4
    Membre habitué
    Utilisation de StringItemList.
    Bonjour,

    Sur la question que tu te pose :

    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/Documentation/BASIC_Guide/Control_Elements

    Cordialement
    Libre Office Version: 6.4.6.2 (x64)
    Windows 10

###raw>template_hook.ano_emploi###