liste dans datagrid

dibouched Messages postés 219 Date d'inscription samedi 21 août 2004 Statut Membre Dernière intervention 17 juillet 2007 - 27 août 2004 à 13:01
dibouched Messages postés 219 Date d'inscription samedi 21 août 2004 Statut Membre Dernière intervention 17 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

9 réponses

gaa179 Messages postés 361 Date d'inscription mercredi 21 mai 2003 Statut Membre Dernière intervention 12 novembre 2009 2
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

'Affichage du listbox
List1.Top = DataGrid1.Top + DataGrid1.RowTop(DataGrid1.Row) + DataGrid1.RowHeight
List1.Left = DataGrid1.Left + DataGrid1.Columns(ColIndex).Left
List1.Width = DataGrid1.Columns(ColIndex).Width
List1.Height = 1440
List1.Visible = True
'If List1.Visible Then
' List1.ListIndex = 0
'End If

End Select

RsFournisseur.Filter = adFilterNone
End Sub

Remarque:
Dans le cas du list box, les valeurs de la liste varie en fonction de certaine données de la BD

A+
0
dibouched Messages postés 219 Date d'inscription samedi 21 août 2004 Statut Membre Dernière intervention 17 juillet 2007 2
28 août 2004 à 11:16
j'ai esssauer ce si et j'ai reessi a apparaitr la liste comme je vais
il reste la selection des bvaleurs
merci
0
dibouched Messages postés 219 Date d'inscription samedi 21 août 2004 Statut Membre Dernière intervention 17 juillet 2007 2
28 août 2004 à 11:25
comment choisir la valeur et comment faire disparaitre la liste
0
gaa179 Messages postés 361 Date d'inscription mercredi 21 mai 2003 Statut Membre Dernière intervention 12 novembre 2009 2
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+
0

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

Posez votre question
dibouched Messages postés 219 Date d'inscription samedi 21 août 2004 Statut Membre Dernière intervention 17 juillet 2007 2
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
0
gaa179 Messages postés 361 Date d'inscription mercredi 21 mai 2003 Statut Membre Dernière intervention 12 novembre 2009 2
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.

A+
0
dibouched Messages postés 219 Date d'inscription samedi 21 août 2004 Statut Membre Dernière intervention 17 juillet 2007 2
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+
0
saidhm Messages postés 1 Date d'inscription dimanche 5 juin 2005 Statut Membre Dernière intervention 5 juin 2005
5 juin 2005 à 22:47
said.hm
0
dibouched Messages postés 219 Date d'inscription samedi 21 août 2004 Statut Membre Dernière intervention 17 juillet 2007 2
6 juin 2005 à 08:45
mais je te pas compris tu n'as aps posté un msg




DiBou
email:dibouched@yahoo.fr
0
Rejoignez-nous