URGENT: Datagrid

cs_rabli Messages postés 37 Date d'inscription lundi 1 mai 2006 Statut Membre Dernière intervention 11 mars 2010 - 24 juil. 2008 à 00:14
cs_rabli Messages postés 37 Date d'inscription lundi 1 mai 2006 Statut Membre Dernière intervention 11 mars 2010 - 26 juil. 2008 à 02:16
Salut, j'ai gravement besoin de votre aide.
Je ne trouve pas cmt faire pour avoir des listes de choix dans le premier champs de mon datagride. C'est tres urgent. SVP je compte bcp sur votre aide.

15 réponses

cs_rabli Messages postés 37 Date d'inscription lundi 1 mai 2006 Statut Membre Dernière intervention 11 mars 2010
24 juil. 2008 à 00:17
P.S: je suis sur VB6
0
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
24 juil. 2008 à 01:02
Bonsoir,
Voici une façonparmi d' autreq.
*Coté conception
1°-Poses ta liste de choix sur tonDataGrid.
     Propriété Visible=False
2°-Dans la page des propriétés du Datagrid,Onglet Disposition,
     coches la propriété Button pour la colonne(champ)
     de ton choix
*Coté code
Dans la
Sub DataGrid_ButtonClick(ByVal ColIndex As Integer) 
  Select Case ColIndex
      Case :0  ' première colonne
          Combo.Visible=True
          Dim CCol As Column
          Set CCol = DataGrid.Columns(ColIndex)


With Combo 
  .Top = DataGrid.RowTop(DataGrid.Row) 
  .Left = CCol.Left
  .Width = CCol.Width
 End With


Set CCol = Nothing           
Combo.SetFocus
End Select
End Sub

Private Sub Combo_Click()
  DataGrid.Col = 0 'toujours l' exemple 1° colonne 
  DataGrid.Text =  Combo.Text
  Combo.Visible=False
End Sub

Il faudra aussi penser à rendre tn Combo non visible
quand ton DataGrid reprend le focus sans avoir sélectionner
dans ton combo.





<hr />... Y'en a même qui disent qu'ils l'ont vu voler.
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
24 juil. 2008 à 01:38
Vous êtes ici : [infomsg.aspx Thèmes] / [infomsgf_VB-NET-VB-2005_40.aspx VB.NET et VB 2005] / [infomsgt_BASE-DONNEES_235.aspx Base de données] / [infomsgt_ACCESS_661.aspx Access] / URGENT: Datagrid

thème topic : déplacé de VB.NET vers VB6
(et doublon  supprimé...)
0
cs_rabli Messages postés 37 Date d'inscription lundi 1 mai 2006 Statut Membre Dernière intervention 11 mars 2010
24 juil. 2008 à 10:40
Merci je cour tester maintenant
0

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

Posez votre question
cs_rabli Messages postés 37 Date d'inscription lundi 1 mai 2006 Statut Membre Dernière intervention 11 mars 2010
24 juil. 2008 à 11:02
désolé mais il y a un truc qui va pas :s
pour le Ccol il n'a pas de propriété left ou width je trouve uniquement:
Attributes
definedsize
name
numericscale
parentcatalog
precision
properties
relatedcolumn
sortorder
type

c'est tout c que j trouve
0
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
24 juil. 2008 à 20:14
Beh moi j' ai tout !
Dim CCol As Column
Set CCol = DataGrid1.Columns(0)
CCol.
tu auras toute la liste de propriétés et de méthodes<hr />... Y'en a même qui disent qu'ils l'ont vu voler.
0
cs_rabli Messages postés 37 Date d'inscription lundi 1 mai 2006 Statut Membre Dernière intervention 11 mars 2010
25 juil. 2008 à 11:27
oui c ce que j'ai fait pour voir les methodes et propriétés que j'ai. mais c uniquement la liste d'en haut que j'ai.
Vous pensez que c'est dû à des references ou components manquants???
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
25 juil. 2008 à 13:42
0
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
25 juil. 2008 à 14:19
Pour les références, dans mon exemple j' ai ceci: 
-Microsoft DAO 3.xx Objet Librairy
-Microsoft DataBinding Collection
-Microsoft VisualBasic 6.0 Extensibility

<hr />... Y'en a même qui disent qu'ils l'ont vu voler.
0
cs_rabli Messages postés 37 Date d'inscription lundi 1 mai 2006 Statut Membre Dernière intervention 11 mars 2010
25 juil. 2008 à 23:03
j'ai ces references sur mon projet et malgres ca ca ne marche pas :(
Je suis sur le point de deprimé . merci vraiment pour votre aide mais malheureusement ca marche pas. j'ai essayé sur un autre PC et c le meme resultat même si je trouve votre solution tres logique mais avez vous une autres facons de faire. Je dois rendre ce projet lundi.
0
cs_rabli Messages postés 37 Date d'inscription lundi 1 mai 2006 Statut Membre Dernière intervention 11 mars 2010
25 juil. 2008 à 23:08
J'ai unpeu modifier le code dans l espoire de trouver une issue.

Sub DataGrid_ButtonClick(ByVal ColIndex As Integer) 
  Select Case ColIndex
      Case :0  ' première colonne
          Combo.Visible=True
          Dim CCol As Column
          Set CCol = DataGrid.Columns(ColIndex) With Combo 
  .Top = DataGrid.RowTop(DataGrid.Row) 
  .Left = CCol.RelatedColumn ' ici
  .Width = CCol.RelatedColumn 'ici
 End With

Set CCol = Nothing           
Combo.SetFocus
End Select
End Sub

Private Sub Combo_Click()
  DataGrid.Col = 0 'toujours l' exemple 1° colonne 
  DataGrid.Text =  Combo.Text
  Combo.Visible=False
End Sub

Maintenant j'ai une erreur "Type mismatch" sur la ligne suivante:
   Set CCol = DataGrid.Columns(ColIndex)

vous pensez que c est logique??????????
0
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
26 juil. 2008 à 00:16
Beh c' est logique dans le sens ou il n' as pas pris en compte ta variable cCol en tant que Column.
J' ai compris d' ou venait l' erreur ..(mon erreur )
Il s' agissait des deux malheureux deux point après Case. Case <strike>:</strike> 0

Ce qui explique peut être pourquoi tu n' as pas cCol.Left ni cCol.Width.

Réessayes avec
Sub DataGrid_ButtonClick(ByVal ColIndex As Integer) 
  If ColIndex=0 Then
          Combo.Visible=True
          Dim CCol As Column
          Set CCol = DataGrid.Columns(ColIndex)
With Combo 
  .Top = DataGrid.RowTop(DataGrid.Row) 
  .Left = CCol.Left 
  .Width = CCol.Width 
 End With

Set CCol = Nothing           
Combo.SetFocus
End If
End Sub
                
<hr />
... Y'en a même qui disent qu'ils l'ont vu voler.     
0
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
26 juil. 2008 à 00:31
Pour la solution de rechange, il y' a bien l' evenement MouseDwn, mais il faudra etre précis quand à la position que prendera ton combo.

Private Sub DataGrid_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
  If DataGrid.Col = 0 Then
    With Combo
       .Left = DataGrid.Left + X '+ou- qqchose)
       .Top = DataGrid.Top + Y  '+ou- qqchose)
       .Visible=True
       .SetFocus
       SendKeys "{f4}"  'déroulera automatiquement la liste
 
  End With

End If
End Sub

<hr />... Y'en a même qui disent qu'ils l'ont vu voler.
0
cs_rabli Messages postés 37 Date d'inscription lundi 1 mai 2006 Statut Membre Dernière intervention 11 mars 2010
26 juil. 2008 à 02:01
Le probleme n'est pas dans les : dans le case je l'ai resolu :)


mais n'empeche ca marche pas encore avec le if.


Bon je vais essayer avec la 2eme methode. j'espere que ca va marché


 
0
cs_rabli Messages postés 37 Date d'inscription lundi 1 mai 2006 Statut Membre Dernière intervention 11 mars 2010
26 juil. 2008 à 02:16
Private Sub DataGrid1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
 
  If DataGrid1.Col = 0 Then
    With combo1
       .Left = DataGrid1.Left + 12 '+ou- qqchose)
       .Top = DataGrid1.Top + 12 '+ou- qqchose)
       .Visible = True
       .SetFocus
       SendKeys "{f4}"  'déroulera automatiquement la liste
 
  End With


End If
End Sub




Private Sub combo1_Click(Area As Integer)




 DataGrid1.Col = 0 'toujours l' exemple 1° colonne
  DataGrid1.Text = combo1.Text
  combo1.Visible = False
End Sub

ca c le code que j execute; suivant la 2eme methode. et voila l erreur que j'obtient:
run-time error '28'
out of stake space
??????????? qu'est ce que ca veut dire SVP??????
0
Rejoignez-nous