French Transfert de la valeur d'un spinner d'un panel à un autre panel

wolf

Member
Licensed User
Longtime User
Bonjour,

:sign0013: Encore une difficulté à vous soumettre !

Dans un premier pannel j'affiche 2 spinners :
- Le premier affiche la liste des pays
- Le deuxiéme affiche une fois le pays selectionné, une liste de villes de ce pays
Cela fonctionne parfaitement.

Le code de cette première partie :
DBUtils.ExecuteSpinner(SQL1, "SELECT distinct pays FROM terrains" ,Null, 0, spnrPaysT)
spnrPaysT.SelectedIndex = 0
spnrPaysT_ItemClick(0, spnrPaysT.GetItem(spnrPaysT.SelectedIndex))

End Sub

Sub spnrPaysT_ItemClick (Position As Int, Value As Object)
DBUtils.ExecuteSpinner(SQL1, "SELECT ville FROM terrains where pays=? order by ville" ,Array As String(Value), 0, spnrTerrainsT)
spnrTerrainsT.SelectedIndex=0
)
End Sub
Précision : les spinners spnrPaysT et spnrTerrainsT sont déclarés en variables gobales.

Mon probleme : je voudrai faire afficher le nom de la ville selectionné dans un autre panel.
Mais cela ne marche pas. J'utilise :
lblnomTV.text=spnrTerrainsT.GetItem(spnrTerrainsT.SelectedIndex)

Ou plus simple : lblnomTV.text=spnrTerrainsT.GetSelectedItem

Quelque soit la ville choisie, l'affichage du panel 2 ne change pas.

SOS ! depuis 3 jours J'ai essayé 36000 solutions mais en vain !

Bests regards
 
Last edited:

klaus

Expert
Licensed User
Longtime User
Cela doit fonctionner, il y a donc un 'os' ailleurs!
Il faudrait montrer plus de code ou mieux le projet complet.
Cette ligne se trouve où?
B4X:
lblnomTV.text=spnrTerrainsT.GetItem(spnrTerrainsT.  SelectedIndex)
Le petit projet joint montre que ça fonctionne.

Meilleures salutations.
 

Attachments

  • SpinnerPanel.zip
    6.4 KB · Views: 197

wolf

Member
Licensed User
Longtime User
Klaus, merci de votre réponse.

J'ai étudié soigneusement votre code et ne voit pas de differences signig ficatives avec le mien. Du coup je galère toujours sur ce probléme.

J'utilise des panels "glissants" slingding ....

Après avoir initialisé les panels, j'ai une procedure par panel qui les remplit.

Dans mon post précédent, la première partie de mon code est dans une de ces procedures de remplissage de panel.

La seconde est dans une procedure :
Sub spnrTerrainsT_ItemClick (Position As Int, Value As Object)
lblnomTV.text=spnrTerrainsT.GetItem(spnrTerrainsT.SelectedIndex)
End Sub
Et devrait fonctionner en selectionnant un terrain. Mais rien !

Je continu à chercher et vous tiens au courant.

En vous remerciant encore.
 

wolf

Member
Licensed User
Longtime User
En essayant de syntétiser le probléme :

Sur ce panel qui contient 5 spiners :
Pays1 et Terrains1
Pays2 et Terrains2
waypoints

une selection de pays 1 ou pays 2 fonctionne en faisant apparaitre les terrains 1 ou 2 du pays selectionné.

Toute selection d'un terrain ne fonctionne pas.

Au passage pour pouvoir illustrer mes propos, existe t il un moyen (logiciel) de faire une copie d'écran sur le smarphone utilisé galaxy S2 ?

Merci
 

klaus

Expert
Licensed User
Longtime User
Après avoir initialisé les panels, j'ai une procedure par panel qui les remplit.
Les Panels sont-ils définis dans un fichier layout ou ajoutés par code?
S'ils sont définis dans un fichier layout il ne faut pas les initialiser à nouveau.
Sinon, le meilleur moyen serait de poster le projet sous la forme d'un fichier zip et je pourrais y jeter un coup d'oeil car sans le projet complet il est impossible de donner un conseil concret.

Meilleures salutations.
 

wolf

Member
Licensed User
Longtime User
Merci Klaus.

Les panels sont définis par code.

Je bosse jusqu'à dimanche pour résoudes ce probléme.

Si je coince, je vous enverai le dossier.

Wolf

PS : Pour la copie d'écran j'ai trouvé.
 
Last edited:
Top