dibouched
Messages postés219Date d'inscriptionsamedi 21 août 2004StatutMembreDernière intervention17 juillet 2007
-
27 août 2004 à 13:01
dibouched
Messages postés219Date d'inscriptionsamedi 21 août 2004StatutMembreDernière intervention17 juillet 2007
-
6 juin 2005 à 08:45
Salut,
j'ain besoins de l'aide dans ce truc
voila
une formulaire vb6 et une base de doneés access
ce que je veux faire
1-DbGrid.columns(i). button=true dans une cellule d'une dbgrid mais je ne sais pas comment declarer la liste de valeur
gaa179
Messages postés361Date d'inscriptionmercredi 21 mai 2003StatutMembreDernière intervention12 novembre 20092 27 août 2004 à 13:42
Salut,
Il s'agit purement et simplement d'un bouton et non une liste déroulante. Si tu désire afficher les valeurs comme dans une liste déroulante, tu dois placer dans l'évènement ButonClick le code pour afficher un autre formulaire dans lequel tu fais apparaître tes données que tu pourras récupérées ou une liste déroulante.
Voici un exemple où pour une colonne je fais apparaître un checkbox et pour une autre un listbox.
Private Sub DataGrid1_ButtonClick(ByVal ColIndex As Integer)
Dim Cpt As Integer
Select Case ColIndex
Case 0 'Checkbox
Check1.Top = DataGrid1.Top + DataGrid1.RowTop(DataGrid1.Row) '+ DataGrid1.RowHeight
Check1.Left = DataGrid1.Left + DataGrid1.Columns(ColIndex).Left
' Width and Height properties can be set a design time
' The width of the list does not have to be the same as the width of the grid column
Check1.Width = DataGrid1.Columns(0).Width
Check1.Height = 255
Check1.Visible = True
If Check1.Visible Then If DataGrid1.Columns(0).Value "-1" Then Check1.Value 1 If DataGrid1.Columns(0).Value "0" Then Check1.Value 0
End If
Case 11 'Fournisseur
List1.Clear
If RsFournisseur.State = 1 Then RsFournisseur.Close
'Pas de fournisseur If MyRs!Id_Four1 0 And MyRs!Id_Four2 0 Then
Cpt = 0
With RsFournisseur
.Open "Select * From Fournisseur Order By Nom", MyDedCn, adOpenStatic, adLockReadOnly
Do While Not .EOF
List1.AddItem !Nom, Cpt
Cpt = Cpt + 1
.MoveNext
Loop
End With
End If
' 2 fournisseurs définis
If MyRs!Id_Four1 > 0 And MyRs!Id_Four2 > 0 Then
Cpt = 0
With RsFournisseur .Open "Select * From Fournisseur Where Id_Four " & MyRs!Id_Four1 & " Or Id_four " & MyRs!Id_Four2 & " Order By Nom", MyDedCn, adOpenStatic, adLockReadOnly
.MoveFirst
Do While Not .EOF
List1.AddItem !Nom, Cpt
Cpt = Cpt + 1
.MoveNext
Loop
End With
End If
'Un seul fournisseur
If MyRs!Id_Four1 > 0 And MyRs!Id_Four2 = 0 Then
RsFournisseur.Open "select * from fournisseur where Id_Four = '" & MyRs!Id_Four1 & "'", MyDedCn
List1.AddItem RsFournisseur!Nom, 0
End If
gaa179
Messages postés361Date d'inscriptionmercredi 21 mai 2003StatutMembreDernière intervention12 novembre 20092 30 août 2004 à 07:48
Pour récupérer la valeur sélectionnée, sur l'évènement click de ta liste déroulante, tu transfert la valeur dans ton recordset via une commande update sur le recordset qui est utilisé par ton datagrid (tu sera placé directement sur le bon enregistrement pour faire la mise à jour). Ensuite du rend invisible la liste déroulante.
Si tu veux le code pour un checkbox, laisse-moi ton adresse e-mail pour t'envoyer le code du formulaire.
A+
Vous n’avez pas trouvé la réponse que vous recherchez ?
dibouched
Messages postés219Date d'inscriptionsamedi 21 août 2004StatutMembreDernière intervention17 juillet 20072 30 août 2004 à 11:41
merci pour votre aide voila mon mail
ched_kh@yahoo.fr
mais dite mùoi j'ai deja trouive la solution de la liste mais comment faire maintenant pour obliger l'utilisateur de ne saisir que de la liste merci
gaa179
Messages postés361Date d'inscriptionmercredi 21 mai 2003StatutMembreDernière intervention12 novembre 20092 30 août 2004 à 11:51
Au fait le code que j'ai est en VB6 (j'avais oublié que ton apllic est vb.net). Es-tu toujours intéressé?
Pour empecher la saisie, il existe en vb6 (tjs) une propriét locked qui permet de bloquer la saisie.
dibouched
Messages postés219Date d'inscriptionsamedi 21 août 2004StatutMembreDernière intervention17 juillet 20072 30 août 2004 à 12:48
je ne pas compris ce que tu vai dire
je travaille avec vb6 et je suis encore intersse
le code que j'ai utilisé ce ne pas la votre puisque je n'utilise pas une base de donne
j'ai pris l'idé et j'ai reessi a le faire
il reste ce controle
meme pour les combobox je vais faire la meme chose
a+