Remplacement du point par une virgule lors de la saisie dans un datagridview

Description

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

Codes Sources

A voir également

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.