Page 1 sur 1
[R] Afficher le Champ Caché d'une ComboBox
Posté : jeu. 09 déc. 2010 17:26
par RPIMA
Bonjour,
Je remets mon post
http://autoitscript.fr/forum/viewtopic.php?f=34&t=6387
En fait je ne désires pas récupérer l'index du combo, mais l'id de ma base de données.
Exemple : J'affiche un Nom dans ma combo et je voudrai récupérer son identifiant de Base de données.
Dans plein de langage on peut afficher un champ dans une combo et récupérer un champ caché. est ce possible en autoit.
Merci d'avance
Re: ComboBox Champ Caché
Posté : jeu. 09 déc. 2010 17:33
par bloodwolff
Je ne suis pas sur de comprendre

Ce que je pense comprendre c'est que tu souhaite affecter 2 valeur à chaque éléments d'une combobox , la première qui sera affiché et la seconde qui sera retourné si c'est l'éléments sélectionné ?
Ps : Ton post sera encore supprimé si tu ne passe pas lire les
règles de présentations
Re: ComboBox Champ Caché
Posté : jeu. 09 déc. 2010 17:35
par RPIMA
Tout a fait !
Mes deux éléments viennent d'une requête de bdd, un ID et un Champ Nom. En sélectionnant l'élément de ma liste je récupère l'id pour générer une autre requête derrière.
Re: ComboBox Champ Caché
Posté : jeu. 09 déc. 2010 17:37
par bloodwolff
Ok je te règle sa ce soir et lis bien le Ps de mon message précédent

Re: ComboBox Champ Caché
Posté : jeu. 09 déc. 2010 17:46
par RPIMA
Me suis présenté
Il faut un script spécial? ce n'est pas natif à la combobox?
Merci de ton aide en tout cas.
Re: ComboBox Champ Caché
Posté : jeu. 09 déc. 2010 17:49
par TommyDDR
Je pense que bloodwolff parlait de cela =>
Règles de présentation d'un message.
C'est en s'ordonnant que l'anarchie disparaitra

Re: [..] Afficher le Champ Caché d'une ComboBox
Posté : jeu. 09 déc. 2010 22:36
par bloodwolff
Clic sur mon lien tu verra qu'il mène sur la même page que le tien !
Et comme promis le script MONSTRE
j'ai tenté de faire le plus simple possible , le plus dure reste de créer un tableau le reste tu n'a quasiment qu'à copier
Teste le script pour voir si c'est bien ce que tu veux ! $text_cache étant la valeur caché et il est affiché par le label
► Afficher le texte
Code : Tout sélectionner
#Include <GuiComboBox.au3> ;Include important... quoi que on pourrait s'en passer mais je voulait pas perdre de temps pour sa
#include <ComboConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
$Form1 = GUICreate("", 424, 23, 375, 203)
$Combo1 = GUICtrlCreateCombo("", 0, 0, 145, 25, BitOR($CBS_DROPDOWNLIST,$CBS_AUTOHSCROLL))
$Label1 = GUICtrlCreateLabel("Label1", 152, 0, 270, 22, $SS_CENTER)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
GUISetState(@SW_SHOW)
dim $combo_content[10][2] = [ _ ;Création du tableau [10] à changer par le nombre d'élément , si il change au cour du script un petit redim peut être utile
["Visible","Caché"], _ ;Premier élément étant le texte visible et le deuxième celui caché
["Fruit","Pomme"], _
["Musique","Rap"], _
["Couleur","Bleu"], _
["Dieu","Bloodwolff"], _
["Animal","Chien"], _
["Stupide","Legend"], _
["Film","Kung Pow"], _
["Danse","Disco"], _
["Vêtement","pantoufle"]]
$text_combo = "" ; On initialise la variable car on ne veut pas ajouter à la suite mais initialiser le combobox
For $i=0 to UBound($combo_content)-1 ;Boucle pour transformer les éléments visible du tableau en chaîne de cractère séparé par des "|"
$text_combo &= "|" & $combo_content[$i][0]
Next
GUICtrlSetData($combo1, $text_combo, $combo_content[0][0]) ;On met la combobox à jour avec le premier élément par défaut
$text_cache = $combo_content[_GUICtrlComboBox_GetCurSel($combo1)][1] ;On obtient le texte caché du combobox étape inutile si on connait dès le départ le texte car on aurait pu le mettre à la création du label
GUICtrlSetData($Label1, $text_cache) ;on met le texte caché au label
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $Combo1
$text_cache = $combo_content[_GUICtrlComboBox_GetCurSel($combo1)][1]
GUICtrlSetData($Label1, $text_cache)
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
Re: [..] Afficher le Champ Caché d'une ComboBox
Posté : ven. 10 déc. 2010 12:41
par RPIMA
Bonjour,
Merci pour ton script.
J'ai procédé différemment du coup, j'affiche mon champ et j'utilise un StringSplit ...
Mais encore merci ca m'a donné une idée pour autre chose