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 :

créer une ligne dans datagridview


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Femme Profil pro
    Enseignant
    Inscrit en
    Avril 2007
    Messages
    130
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2007
    Messages : 130
    Par défaut créer une ligne dans datagridview
    Bonsoir,
    comme l'explique le titre, j'ai besoin de créer une nouvelle ligne dans un datagridview en utilisant la touche tab...
    pour cela j'utilise le code suivant:
    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
    19
    20
    21
     Private Sub DTGNomenclature_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles DTGNomenclature.KeyDown
     
            If e.KeyCode = Keys.Tab Then
     
                If DTGNomenclature.CurrentCellAddress.X = 4 And DTGNomenclature.CurrentCellAddress.Y + 1 = DTGNomenclature.RowCount Then
                    DTGNomenclature.Rows.Add(1)
                    DTGNomenclature.EditMode = DataGridViewEditMode.EditOnKeystrokeOrF2
                    DTGNomenclature.BeginEdit(True)
                    nbposte = nbposte + 1
                    txtnbposte.Text = nbposte
                    If DTGNomenclature.RowCount > 0 Then
                        DTGNomenclature.Rows(nbposte - 1).Cells(0).Value = DTGNomenclature.Rows(nbposte - 2).Cells(0).Value
                        DTGNomenclature.Rows(nbposte - 1).Cells(1).Value = DTGNomenclature.Rows(nbposte - 2).Cells(1).Value
                        DTGNomenclature.Rows(nbposte - 1).Cells(2).Value = DTGNomenclature.Rows(nbposte - 2).Cells(2).Value
                    End If
                    DTGNomenclature.Rows(nbposte - 1).Cells(3).Value = nbposte
                    DTGNomenclature.Rows(nbposte - 1).Cells(4).Value = "SOURIS"
     
                End If
            End If
        End Sub
    Mais, quand je clique sur tab, le focus passe automatiquement au contrôle suivant en ignorant complètement l'événement keydown.

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Je viens de tester de mon côté, j'arrive bien à détecter l'évènement KeyDown... Tu es sûr que ton gestionnaire d'évènement n'est pas du tout appelé ? Essaie de mettre un point d'arrêt pour vérifier.

  3. #3
    Modérateur
    Avatar de Sankasssss
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 842
    Par défaut
    Hello Tomlev,

    Tu ne serais pas en readonly par hasard? Car en édition cet événement n'est apparemment pas géré.

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par Sankasssss Voir le message
    Tu ne serais pas en readonly par hasard? Car en édition cet événement n'est apparemment pas géré.
    Je ne suis pas en readonly, par contre ça ne marche effectivement pas quand je suis en train d'éditer une cellule... En tous cas le lien que tu as posté semble donner la solution.

  5. #5
    Membre confirmé
    Femme Profil pro
    Enseignant
    Inscrit en
    Avril 2007
    Messages
    130
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2007
    Messages : 130
    Par défaut
    Merci pour vos réponses.

    Ma cellule n'est pas en readonly.

    Effectivement, j'ai appelé le gestionnaire d'événement. j'ai utilisé l'événement cellLeave. Pour voir si cet appel est la cause de mon problème, j'ai mis en commentaire la fonction utilisant le gestionnaire d'événement mais malheureusement, le problème n'est pas résolu.

    j'ai testé pour les autres cellule du datagridview, il détectent bien l'événement keydown mais le problème se pose uniquement pour la dernière cellule.

  6. #6
    Membre confirmé
    Femme Profil pro
    Enseignant
    Inscrit en
    Avril 2007
    Messages
    130
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2007
    Messages : 130
    Par défaut
    effectivement, la solution est dans le lien que vous m'avez donnée
    j'ai utilisé keydownpreview au lieu de keydown
    MERCI

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

Discussions similaires

  1. Suppression d'une ligne dans Datagridview et dans la Base de données
    Par MAB-ANZA dans le forum Accès aux données
    Réponses: 2
    Dernier message: 31/05/2011, 11h13
  2. rendre visible une ligne dans datagridview
    Par toutou2000 dans le forum C#
    Réponses: 1
    Dernier message: 26/03/2009, 11h30
  3. Créer une ligne dans un datagrid
    Par GodGives dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 16/10/2007, 15h44
  4. Réponses: 18
    Dernier message: 11/04/2007, 15h18
  5. Créer une ligne dans une table (en 1ere position)
    Par lipao17 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 12/12/2005, 11h09

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