MSFlexGrid et double click

cs_sam30 Messages postés 20 Date d'inscription mardi 24 mai 2005 Statut Membre Dernière intervention 20 juin 2005 - 27 mai 2005 à 07:15
cs_sam30 Messages postés 20 Date d'inscription mardi 24 mai 2005 Statut Membre Dernière intervention 20 juin 2005 - 27 mai 2005 à 14:49
Bonjour je suis grande débutante et je travaille sur une MsflexGrid. Mon probleme est que je voudrais savoir si il était possible de cliquer (ou double cliquer) sur une cellule (x,y) et de modifier le contenu de cette cell (x,y) et d'enregistrer le texte de la ligne x et de la colonne y?
Merci d'avance. (Ca fait une semaine que je bloque!! Pfff!!! )
Merci

10 réponses

Slyders Messages postés 300 Date d'inscription mardi 12 octobre 2004 Statut Membre Dernière intervention 8 janvier 2010 2
27 mai 2005 à 08:45
oui c possible ^^

je te renvoie la dessus :
http://www.vbfrance.com/code.aspx?id=6424
c'est une source ou on peu écrire dedans et et même mettre de la couleur ;)
pour ce qui est d'enregistrer , avec une base de donnée et une requete SQL sa devrai etre bon ;)

problème sur requete SQL et mise en page:
http://www.vbfrance.com/forum.v2.aspx?ID=466298&post=ok

J'espère que sa t'aidera, a++
0
jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 27
27 mai 2005 à 09:09
Bonjour,

Un contrôle MSFlexGrid est conçu pour visionner, bien sur il y a moyen
d'écrire dans les cellules, mais cela ne modifiera pas la Base de
Données liée au contrôle.

Pour cela tu dois utiliser un contrôle DataGrid et un contrôle Adodc

Projet / composants

Microsoft ADO Data control 6.0 (OLEDB) et Microsoft DataGrid control 6.0 (SP5) (OLEDB)

Dans les propriétés du control Adodc, tu sélectionnes ConnectionString
pour choisir la BD et RecordSource pour choisir la Table, tu mets la
propiété CommandType sur -2 adCmdTable, tu lies ensuite le contrôle
DataGrid au contrôle Adodc par la propriété DataSource du contrôle
DataGrid.



Pour modifier du texte dans les cellules du contrôle DataGrid, tu
places les propriétés AllowAddNew à True et AllowDelete à True.



voilà, j'espère que mes explications sont assez claires. (suis pas très doué dans ce dommaine).



jpleroisse
0
cs_sam30 Messages postés 20 Date d'inscription mardi 24 mai 2005 Statut Membre Dernière intervention 20 juin 2005
27 mai 2005 à 10:03
Merci pour vos réponses!
Mais en fait je souhaiterais juste au moment du double click (ou click) déterminer l'index de la ligne et de la colonne de la cellule où j'ai cliquée. Puis modifier le texte de cette cellule. Je compte enregistrer ces index dans un tableau (col,row) et seulement ensuite après validation, enregistrer le tableau dans une table. Voilà...Je sais pas si tu as compris ce que je veux dire ...?
Est-ce que dans le code que tu m'as montré keypress remplace le click?
MERCI
0
Slyders Messages postés 300 Date d'inscription mardi 12 octobre 2004 Statut Membre Dernière intervention 8 janvier 2010 2
27 mai 2005 à 11:05
dans la source que je t'ai passer c'est expliquer.
pour avoir les coordonner de la ou tu as sélectionner c'est :
msf.TextMatrix(msf.RowSel, msf.colsel)
0

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

Posez votre question
cs_sam30 Messages postés 20 Date d'inscription mardi 24 mai 2005 Statut Membre Dernière intervention 20 juin 2005
27 mai 2005 à 12:31
Heu,.... Escuses moi, mais je ne vois ça nulle part dans le code des fichiers...? C dans quel fichier?form1.form?........???
0
cs_sam30 Messages postés 20 Date d'inscription mardi 24 mai 2005 Statut Membre Dernière intervention 20 juin 2005
27 mai 2005 à 12:32
Désolée mais C la 1ère fois que j'utilise le forum...
0
jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 27
27 mai 2005 à 13:14
Re,

Lorsque tu as sélectionnés la cellule, tu l'éffaces avec la touche retour <--, et tu écris dans la cellule.



Private Sub MSFlexGrid1_DblClick()

Text1 = MSFlexGrid1.TextMatrix(MSFlexGrid1.RowSel, MSFlexGrid1.ColSel)

End Sub



Private Sub MSFlexGrid1_KeyPress(KeyAscii As Integer)

Dim strTexte

strTexte = MSFlexGrid1.Text

If KeyAscii = 8 Then

'Touche déffacement

If Len(strTexte) > 0 Then MSFlexGrid1.Text = Left(strTexte, Len(strTexte) - 1)

ElseIf KeyAscii <> 13 Then

MSFlexGrid1.Text = strTexte & Chr(KeyAscii)

End If

End Sub



jpleroisse
0
cs_sam30 Messages postés 20 Date d'inscription mardi 24 mai 2005 Statut Membre Dernière intervention 20 juin 2005
27 mai 2005 à 13:27
Merci à vous deux !!!!
dites-moi est-il possible de créer un évenement sur click gauche ou droit de la souris en cliquant sur une cellule?
0
Slyders Messages postés 300 Date d'inscription mardi 12 octobre 2004 Statut Membre Dernière intervention 8 janvier 2010 2
27 mai 2005 à 13:36
je sais pas :x
mais oui on peu faire evenement sur click de la cellule
0
cs_sam30 Messages postés 20 Date d'inscription mardi 24 mai 2005 Statut Membre Dernière intervention 20 juin 2005
27 mai 2005 à 14:49
Merci beaucoup!
Ca marche trés bien!
0
Rejoignez-nous