Datagrid et interception de keys

Résolu
cs_rocknroll2 Messages postés 100 Date d'inscription vendredi 30 janvier 2004 Statut Membre Dernière intervention 22 janvier 2010 - 9 sept. 2007 à 17:00
cs_rocknroll2 Messages postés 100 Date d'inscription vendredi 30 janvier 2004 Statut Membre Dernière intervention 22 janvier 2010 - 10 sept. 2007 à 16:21
Bonjour à tous,
J'ai un datagrid, les entrées dans les champs modifient en direct la BDD lors du changement de champs.
Or, problème connu: le point du clavier nmérique n'est pas une virgule or pour la suite, j'ai besoin de décimales avec virgules.

Mon problème est qu'il faut que je transforme donc ce "point" en "virgule"...
J'ai essayé d'intercepter le keydown, le keypress... rien n'y fait...
Il y aurait peut-être le "lostfocus", mais là, je ne sais pas gérer cet évènement dans une datagrid...

Si quelqu'un a une bonne idée....
(Je ne veux pas passer par les modif des paramètres régionaux)

Petite précision.... je travaille encore en VB6... pas en .net (pas assez bon pour faire le saut)....

Bonne prog à tous

Rocknroll2

Ouais, je serais un Pro du VB6 et du PHP dans 10/15 ans ;)

5 réponses

chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
9 sept. 2007 à 18:24
le DataGrid1.Text = Format$(DataGrid1.Text, "0,00")
donne de droles de résultat !

essaies plutôt :
DataGrid1.Text = Replace(DataGrid1.Text, ".", ",")

<hr />I LIKE TO BE HERE WHEN I CAN
<hr />

 
3
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
9 sept. 2007 à 18:08
Salut,

essaies dans l' evenement AfterColEdit qui se declenche
après la modification des données d'une colonne ...

Private Sub DataGrid1_AfterColEdit(ByVal ColIndex As Integer)
    If ColIndex = LaColonne Then _
          DataGrid1.Text = Format$(DataGrid1.Text, "0,00")
End Sub











<hr />

I LIKE TO BE HERE WHEN I CAN


<hr />
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
9 sept. 2007 à 18:33
tu peux aussi faire ceci :

Private Sub DataGrid1_KeyPress(KeyAscii As Integer)
 If DataGrid1.Col = LaColonne Then   If KeyAscii 46 Then KeyAscii 44
 End If
End Sub

et reserver le AfterColEdit vérifier  pour la validation de type de donnée.

<hr />I LIKE TO BE HERE WHEN I CAN
<hr />
0
cs_rocknroll2 Messages postés 100 Date d'inscription vendredi 30 janvier 2004 Statut Membre Dernière intervention 22 janvier 2010
10 sept. 2007 à 09:34
Bonjour chaibat05
Merci pour ces renseignements, je teste aujourd'hui et post le(s) résultat(s)
Rocknroll2

Ouais, je serais un Pro du VB6 et du PHP dans 10/15 ans ;)
0

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

Posez votre question
cs_rocknroll2 Messages postés 100 Date d'inscription vendredi 30 janvier 2004 Statut Membre Dernière intervention 22 janvier 2010
10 sept. 2007 à 16:21
re, chaibat05
Ta réponse me convient tout à fait.
Merci à toi,
Rocknroll2

Ouais, je serais un Pro du VB6 et du PHP dans 10/15 ans ;)
0
Rejoignez-nous