Help Datagrid ! ! ! Qui pourras trouver la solution à mon probléme????

Signaler
Messages postés
5
Date d'inscription
mercredi 1 octobre 2003
Statut
Membre
Dernière intervention
5 novembre 2005
-
Messages postés
7
Date d'inscription
mercredi 4 juin 2008
Statut
Membre
Dernière intervention
7 juin 2008
-
Voilà mon problème est le suivant :j'ai besoin de faire un multiselect dans un datagrid cad que j'utilise l'évènement keydown avec la detection du spacebar .Le spacebar selectionne ou deselectionne toute la ligne (en lieu et place du click sur la partie gauche du datagrid).Aussi le programme doit etre capable de selectionner plusieurs lignes.(par defaut,avec le click ,un seul possible)
Pas moyen de trouver l'evenement correspondant au click ?????
Je sais que c'est possible car j'utilise tous les jours un programme qui est capable de le faire mais comment??????ca c'est une autre histoire.....
Si quelqu'un pourrait m'aider ca m'aiderai beaucoup.
D'avance merci à celui ou celle qui trouvera la solution.

Vince.

7 réponses

Messages postés
94
Date d'inscription
dimanche 9 mai 2004
Statut
Membre
Dernière intervention
6 août 2006

c'est une propriété ...

Met selectionMode=byrow

(bouton droit sur ton grid: propriétés)

Rien ne sert de courir, il faut partir à point

Jean de la fontaine
Messages postés
5
Date d'inscription
mercredi 1 octobre 2003
Statut
Membre
Dernière intervention
5 novembre 2005

Codea merci de ta reponse mais,j'ai oublié de préciser que je suis en vb6,j'ai beau chercher aucune trace de cette propriété....sniff..
Messages postés
288
Date d'inscription
mercredi 4 mai 2005
Statut
Membre
Dernière intervention
26 janvier 2012
1
Voilà, désolé Vince je suis en vb.net, mais ces trois fonctions marchent (toujours en .net..), alors si tu veux les essayer..

La 1ere détecte un changement de ligne suite à un click.. les deux autres sont indiquées par leur nom :



Private Sub dtg(ByVal sender As Object, ByVal e As System.EventArgs) Handles nom_du_datagrid.CurrentCellChanged
end sub



Private Sub Dtgl(ByVal sender As Object, ByVal e As System.EventArgs) Handles nom_du_datagrid.DoubleClick

end sub


Private Sub dtgb(ByVal sender As Object, ByVal e As System.EventArgs) Handles nom_du_datagrid.Click

end sub





Si ca peut t'aider....



.Maytheforcebewithyou.Maxime.
Messages postés
94
Date d'inscription
dimanche 9 mai 2004
Statut
Membre
Dernière intervention
6 août 2006

mm.... c parce que je tavaille avec un mshflexgrid .... :o) dsl....



sinon tu peux essayer aussi avec un listview c'est tres chic.... et mettre la propriété view à lvwReport...

une fonction bien pratique pour remplir unelistview....

tu dois passer Item comme un tableau de string, un recordset et ton listview:

exemple:

StrConfigList(1, 0) = "Idmenu"

StrConfigList(1, 1) = "1" 'largeur de la colonne presque 0 ... ca cache l,id !

StrConfigList(0, 0) = "Nom"

StrConfigList(0, 1) = "2500" 'largeur de la colone



Function Remplit_Rapport(lst As ListView, rst As Recordset, Item() As String, Optional ByVal Itemkey As String = "")

Dim mItem As ListItem

Dim Sitem As ListSubItem

Dim Equipement_actuel As Integer

Dim Titre_colone As ColumnHeader

lst.ListItems.Clear

lst.ColumnHeaders.Clear



'Ajuste les colones

For i = 0 To UBound(Item())

Set Titre_colone = lst.ColumnHeaders.Add()

Titre_colone.Text = Item(i, 0)

Titre_colone.Width = Val(Item(i, 1))

Next i

'ALLER CHERCHER LES BT PREVENTIFS OUVERTS

If rst.EOF False And rst.BOF False Then

With rst

.MoveFirst

Do Until .EOF

'PREMIERE COLONE

Set mItem = lst.ListItems.Add()

'ICI ON GERE SI L'ITEM EST EN RETARD

mItem.Text = .Fields(Item(0, 0))

If Itemkey <> "" Then


mItem.key = "" 'ajoute une string optionnelle

End If

'TOUTES LES AUTRES COLONES

For i = 1 To UBound(Item())

Set Sitem = mItem.ListSubItems.Add()


If Not IsNull(.Fields(Item(i, 0))) Then


Sitem.Text = .Fields(Item(i, 0))

End If



Next i

.MoveNext

Loop

End With

' rst.Close

End If



Ensuite tu accedesa tes données comme ca...

id=Val(Item.ListSubItems(1).Text)

item2=Val(Item.ListSubItems(2).Text)




Rien ne sert de courir, il faut partir à point

Jean de la fontaine
Messages postés
94
Date d'inscription
dimanche 9 mai 2004
Statut
Membre
Dernière intervention
6 août 2006

et fais attention ... ta liste de string... les nom doivent être
pareils auc champs de ton recordset, et aussi la string doit avoir la
bonne dimension :



pour un rst 3 3 champ=(Id,Nom,Prenom)

dim str(2,2)

str(0,0)="Id"

str(0,1)="1"

str(1,0)="Nom"

str(1,1)"500"

str(2,0)="Prenom"

str(2,1)="800"



voila ... si tu veux changer les titres de tes colones sans changer les
noms des attributs de tes tables dans ta bd... tu peux mettres des
alias dans tes requettes ex: select EmployeNom as Nom, Nas as Id from
tblEmploye

Rien ne sert de courir, il faut partir à point

Jean de la fontaine
Messages postés
5
Date d'inscription
mercredi 1 octobre 2003
Statut
Membre
Dernière intervention
5 novembre 2005

merci pour votre aide codea et trafmaxime ,je m'en vais tester cela de suite ........
et je vous tiens au courant.
Messages postés
7
Date d'inscription
mercredi 4 juin 2008
Statut
Membre
Dernière intervention
7 juin 2008

salam,
 j'ai un projet dans php et je voudrai afficher une image (trambinoscop)  comment je veux faire