Cette source permet d'avoir le même fonctionnement qu'excel : lorsque l?utilisateur saisie des nombres, le point est transformé en le séparateur de décimales du système (dans mon cas la virgule).
Source / Exemple :
Public Class Form1
'Lorsque l'utisateur va saisir dans la colonne "Decimal", les . seront remplacés par le bon séparteur de décimals.
Private Sub DataTable1DataGridView_EditingControlShowing(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewEditingControlShowingEventArgs) Handles DataTable1DataGridView.EditingControlShowing
Dim voControl As DataGridViewTextBoxEditingControl
Try
If DataTable1DataGridView.Columns(DataTable1DataGridView.CurrentCell.ColumnIndex).Name = "DataGridViewTextBoxColumnDecimal" Then
voControl = CType(e.Control, DataGridViewTextBoxEditingControl)
AddHandler voControl.KeyPress, AddressOf EditingControl_KeyPress
End If
Catch ex As Exception
End Try
End Sub
Private Sub EditingControl_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs)
Dim vsDecimalSeparator As Char
vsDecimalSeparator = System.Threading.Thread.CurrentThread.CurrentCulture.NumberFormat.NumberDecimalSeparator
If vsDecimalSeparator <> "." And e.KeyChar = "." Then
e.KeyChar = vsDecimalSeparator
End If
End Sub
End Class
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.