[vfp9]combobox bete question

Résolu
gregorian Messages postés 57 Date d'inscription lundi 18 avril 2005 Statut Membre Dernière intervention 24 mars 2011 - 25 oct. 2005 à 11:06
Mike Gagnon Messages postés 381 Date d'inscription vendredi 15 octobre 2004 Statut Membre Dernière intervention 24 octobre 2013 - 25 oct. 2005 à 15:07
Bonjour,

Dans un dvp, j'ai une free table qui reprend les 12 mois de l'année --> les num du mois en clé et un champs libellé qui reprend le nom du mois.

J'ai une combo qui reprend ces info pour choisir un mois en particulier.

voici mon code:


thisform.combo2.RowSourceType = 2 && pour dire que la source est dbf


thisform.combo2.RowSource = "c_mois" && donne l'alias de la table


thisform.combo2.ColumnCount = 2 && dit le nbr de colonne qui doit apparaitre


thisform.combo2.ColumnLines = .F. && ligne de séparation


thisform.combo2.Displayvalue = 2 && normalement qu'elle est la colonne qui s'affiche après sélection mais c'e'st cela qui n'a pas l'air de fonctionner. Me serais je tromper de propriété à utiliser ?? J'ai regarder dans l'aide mais ce que j'ai fait me sempble correct pourtant.

Qqun peut il m'aider

merci

5 réponses

Mike Gagnon Messages postés 381 Date d'inscription vendredi 15 octobre 2004 Statut Membre Dernière intervention 24 octobre 2013 2
25 oct. 2005 à 15:07
La propriété displayvalue est limité à te montrer seulement la valeur de la colonne 1 et non la deuxième colonne. Donc si tu veux montrer le valeur 2 dans le displayvalue, change l'ordre de tes colonnes.

Propriété DisplayValue

Specifies the contents of the first column of the selected item in a ListBox or ComboBox control. Available at design time and run time.

Mike Gagnon
3
Mike Gagnon Messages postés 381 Date d'inscription vendredi 15 octobre 2004 Statut Membre Dernière intervention 24 octobre 2013 2
25 oct. 2005 à 12:11
Difficile à comprendre la question.
1. Que veut-tu voir dans le displayvalue? Le nom du mois ou le numéro du mois?
2. Que veut-tu retourner en fait de valeur? Le nom du mois ou le numéro du mois?

Normallement dans un combo on montre le nom du mois et on retourne le numéro du mois (Boundcolumn = 2) . Voici un exemple. Roule ce qui suit dans un prg

PUBLIC oform1


oform1=NEWOBJECT("form1")
oform1.Show
RETURN



DEFINE CLASS form1 AS form



DoCreate = .T.
Caption = "Form1"
Name = "Form1"



ADD OBJECT combo1 AS combobox WITH ;
BoundColumn = 2, ;
ColumnCount = 2, ;
ColumnWidths = "100,50", ;
RowSourceType = 1, ;
RowSource = "Janvier,1,Fevrier,2,Mars,3", ;
Height = 25, ;
ColumnLines = .F., ;
Left = 48, ;
Top = 60, ;
Width = 133, ;
Name = "Combo1"


PROCEDURE combo1.Valid
MESSAGEBOX("Valeur choisi :"+this.Value)
ENDPROC


ENDDEFINE

Mike Gagnon
0
gregorian Messages postés 57 Date d'inscription lundi 18 avril 2005 Statut Membre Dernière intervention 24 mars 2011 1
25 oct. 2005 à 12:44
c'est comme si dans mon rowsource chez moi je mettais: "1,janvier,2,fevrier ..."

Mais pour le reste cela doit être comme chez toi:
ce qui apparait dans la combo le nom du mois mais le this.value renvoyé, doit être le numéro du mois.

Devrais je juste changer le BoundColumn ?

Bien à toi,
0
Mike Gagnon Messages postés 381 Date d'inscription vendredi 15 octobre 2004 Statut Membre Dernière intervention 24 octobre 2013 2
25 oct. 2005 à 14:31
>>Devrais je juste changer le BoundColumn ?

Le boundcolumn signifie la valeur retourné par this.value. Si la valeur que tu veux retournée se trouve dans la colonne 1 alors tu mets le boundcolumn à 1 et si tu veux retourner la valeur de la colonne 2 tu mets le boundcolumn à 2.

Mike Gagnon
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
gregorian Messages postés 57 Date d'inscription lundi 18 avril 2005 Statut Membre Dernière intervention 24 mars 2011 1
25 oct. 2005 à 14:50
Merci et la propriété qui dit ce qui est affiché dans la combobox ?
C'est bien display value, non ?

Si oui, pourquoi quand je dis displayvalue = 2 il ne me prend pas ma deuxième colonne ?

Bien à toi,
0
Rejoignez-nous