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

cs_vince23 Messages postés 5 Date d'inscription mercredi 1 octobre 2003 Statut Membre Dernière intervention 5 novembre 2005 - 2 nov. 2005 à 23:16
cs_lalahom Messages postés 7 Date d'inscription mercredi 4 juin 2008 Statut Membre Dernière intervention 7 juin 2008 - 7 juin 2008 à 18:03
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

codea Messages postés 94 Date d'inscription dimanche 9 mai 2004 Statut Membre Dernière intervention 6 août 2006
3 nov. 2005 à 01:01
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
0
cs_vince23 Messages postés 5 Date d'inscription mercredi 1 octobre 2003 Statut Membre Dernière intervention 5 novembre 2005
3 nov. 2005 à 07:34
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..
0
TrafMaxime Messages postés 288 Date d'inscription mercredi 4 mai 2005 Statut Membre Dernière intervention 26 janvier 2012 1
3 nov. 2005 à 09:56
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.
0
codea Messages postés 94 Date d'inscription dimanche 9 mai 2004 Statut Membre Dernière intervention 6 août 2006
3 nov. 2005 à 13:34
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
0

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

Posez votre question
codea Messages postés 94 Date d'inscription dimanche 9 mai 2004 Statut Membre Dernière intervention 6 août 2006
3 nov. 2005 à 13:42
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
0
cs_vince23 Messages postés 5 Date d'inscription mercredi 1 octobre 2003 Statut Membre Dernière intervention 5 novembre 2005
3 nov. 2005 à 20:59
merci pour votre aide codea et trafmaxime ,je m'en vais tester cela de suite ........
et je vous tiens au courant.
0
cs_lalahom Messages postés 7 Date d'inscription mercredi 4 juin 2008 Statut Membre Dernière intervention 7 juin 2008
7 juin 2008 à 18:03
salam,
 j'ai un projet dans php et je voudrai afficher une image (trambinoscop)  comment je veux faire
0
Rejoignez-nous