IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Contrôle de saisie dans un DataGrid


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Technicien Qualité Logiciel
    Inscrit en
    Janvier 2010
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien Qualité Logiciel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2010
    Messages : 44
    Par défaut Contrôle de saisie dans un DataGrid
    Bonjours à tous,

    J'ai une petite question qui je pense doit être simple pour vous ^^
    Je voudrais que dans certaines colonnes de mon DataGrid on ne puisse saisir que des caractères numériques.

    Donc j'ai essayé de prendre l'événement Keypress de mon DataGrid pour faire un contrôle de saisie, mais ça ne fonctionne pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    Private Sub DataGridCavaliers_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles DataGridCavaliers.KeyPress
     
            'Déclaration des variables
            Dim iNombreCavalier As Integer
     
            'Initialisation des variables
            iNombreCavalier = DataGridCavaliers.RowCount - 1
     
            'Interdire de saisir des caractéres alphabétiques dans la colonne Dossard
            If DataGridCavaliers.Item(0, iNombreCavalier).Selected Then
                If Char.IsNumber(e.KeyChar) Then
                    e.Handled = False
                Else
                    e.Handled = True
                End If
            End If
     
        End Sub
    Vous avez peut être une autre solution??

    Je vous remercie d'avance pour votre aide.

    Bonne journée.
    Cryo

  2. #2
    Membre Expert Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Par défaut
    Petites question utile:

    Qu'est ce qui ne marche pas?

    Tu ne rentre jamais dans ton évènement? il y a une exception, laquelle? etc etc...

  3. #3
    Membre averti
    Homme Profil pro
    Technicien Qualité Logiciel
    Inscrit en
    Janvier 2010
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien Qualité Logiciel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2010
    Messages : 44
    Par défaut
    Salut mactwist69,

    C'est vrai, désolé, j'avais oublié de noter où je bloquais.
    Oui je ne rentre jamais dans l'événement KeyPress.

  4. #4
    Membre Expert Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Par défaut
    Donc il faut que tu trouve le bon évènement,

    Personnellement j'utilise un "CellValueChanged", Mais cet évènement a un défaut, c'est que il ne se déclenche pas quand tu tapes une lettre, mais une fois le texte taper, quand tu cliques ailleurs, alors ça valide la saisie de la cellule et lance l'évènement.

    Je sais pas ce qui te conviendrait le mieux...

    Peut être un Cell KeyDown si ça existe...

    Ou sinon il est peut être possible de typé ta colonne... en Integer.. Ça mérite recherche.

  5. #5
    Membre averti
    Homme Profil pro
    Technicien Qualité Logiciel
    Inscrit en
    Janvier 2010
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien Qualité Logiciel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2010
    Messages : 44
    Par défaut
    Ouai je ne trouve pas le bon événement, la plus part des événements que j'ai testé valide la saisie quand tu sort de la cellule, ça peut être pas mal mais j'aimerais interdire complètement la saisie, ça serait plus parlant.

    L'événement "CellValueChanged" fonctionne bien pour ça.

    J'en ai testé pas mal là, mais c'est toujours à l'entrée ou à la sortie que l'événement se déclenche pas à la saisie.

    Donc je vais essayé de voir pour typé ma colonne alors.

    Je te remercie mactwist69, je vous tiens au courant si je réussi

  6. #6
    Membre émérite Avatar de yonpo
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2010
    Messages
    617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2010
    Messages : 617
    Par défaut
    Salut,

    J'avais le même problème. Voici le lien qui m'a aidé.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Contrôle de saisie dans une DBGrid
    Par kimlee dans le forum Composants VCL
    Réponses: 6
    Dernier message: 19/10/2009, 12h13
  2. [Compatbilité] Contrôle de saisie dans TextBox
    Par n00bi dans le forum ASP.NET
    Réponses: 2
    Dernier message: 03/03/2008, 14h43
  3. Réponses: 3
    Dernier message: 28/02/2008, 21h28
  4. [Formulaire]Contrôle de saisie dans une zone de texte
    Par ludovicparis dans le forum IHM
    Réponses: 7
    Dernier message: 29/03/2007, 13h39
  5. [c#] Saisie dans un dataGrid
    Par abder_razak dans le forum Windows Forms
    Réponses: 1
    Dernier message: 17/07/2006, 17h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo