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

C# Discussion :

Nouvelle ligne dans un datagridview [Débutant]


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2008
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 117
    Par défaut Nouvelle ligne dans un datagridview
    Bonjour,

    Je suis en saisie libre dans un datagridview (DTGV). Il est initialisé ainsi:
    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
    22
                grd_Acheteur.AutoGenerateColumns = true;
                grd_Acheteur.BorderStyle = BorderStyle.Fixed3D;
                grd_Acheteur.AllowUserToAddRows = booHabilitAjoutAcheteur;
                grd_Acheteur.AllowUserToDeleteRows = booHabilitSupprAcheteur;
                grd_Acheteur.AllowUserToOrderColumns = false;
                grd_Acheteur.ReadOnly = false;
                grd_Acheteur.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
                grd_Acheteur.MultiSelect = false;
                grd_Acheteur.AllowUserToResizeColumns = true;
                grd_Acheteur.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.DisableResizing;
                grd_Acheteur.AllowUserToResizeRows = false;
                grd_Acheteur.RowHeadersWidthSizeMode = DataGridViewRowHeadersWidthSizeMode.DisableResizing;
                grd_Acheteur.DefaultCellStyle.SelectionBackColor = Color.LightSkyBlue;  // Color.Azure ;// Color.White;
                grd_Acheteur.DefaultCellStyle.SelectionForeColor = Color.Black; // Color.Black;
                grd_Acheteur.RowHeadersDefaultCellStyle.SelectionBackColor = Color.Empty;
                grd_Acheteur.RowsDefaultCellStyle.BackColor = Color.White; // Color.LightGray;
                grd_Acheteur.ColumnHeadersDefaultCellStyle.ForeColor = Color.White;
                grd_Acheteur.ColumnHeadersDefaultCellStyle.BackColor = Color.Black;
                grd_Acheteur.RowHeadersDefaultCellStyle.BackColor = Color.Black;
                grd_Acheteur.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.DisplayedCells;
     
    grd_Acheteur.Rows.Add();
    Après ce code, j'ai donc 2 lignes, dans la première colonne de la première ligne, j'ai une flèche vers la droite et sur la deuxième ligne, une étoile.

    Je voudrais ajouter une ligne, à chaque fois, que je change de ligne et que cette ligne est la dernière du DTGV, j'essaye ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
            private void grd_Acheteur_RowEnter(object sender, DataGridViewCellEventArgs e)
            {
                if (e.RowIndex == grd_Acheteur.Rows.Count - 1)
                {
                    grd_Acheteur.Rows.Add();
                }
     
            }
    Mais j'obtiens l'erreur :
    L'opération n'est pas autorisée dans ce gestionnaire d'événements.
    Je n'arrive pas à ajouter ma ligne quand il le faut
    Quelqu'un peut-il m'aider ?
    Merci

  2. #2
    Membre confirmé
    Inscrit en
    Avril 2008
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 117
    Par défaut
    Petite précision:
    Mon DTGV contient 4 colonnes, toutes sont des contrôles utilisateur que j'ai ajouté ainsi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    MultiColumnComboBox conUsr = new MultiColumnComboBox();
    grd_Acheteur.Controls.Add(contUsr);
    De ce fait, je ne suis jamais dans une cellule du DTGV mais dans mes contrôles!
    A partir du moment où je rajoute une colonne classique, comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    grd_Acheteur.Columns.Add("Test", "Test");
    Si je me trouve sur la dernière ligne et que je rentre en mode edit dans cette cellule (la première colonne affiche un crayon, au lieu d'une flèche ou de l'étoile), et une autre ligne se créé (avec l'étoile en première colonne).

    Merci de m'aider, car je n'ai pas besoin de cette dernière colonne !

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

Discussions similaires

  1. [C#]Sélectionner une ligne dans un datagridview
    Par padodanle51 dans le forum Windows Forms
    Réponses: 7
    Dernier message: 10/03/2013, 09h04
  2. Réponses: 18
    Dernier message: 26/07/2006, 14h51
  3. [C# 2.0] Séléction de lignes dans un datagridview
    Par bootix dans le forum Windows Forms
    Réponses: 2
    Dernier message: 18/07/2006, 11h26
  4. [C#][VS 2005]Changer la couleur d'une ligne dans un DataGridView
    Par Mast3rMind dans le forum Windows Forms
    Réponses: 5
    Dernier message: 13/07/2006, 23h20
  5. Réponses: 2
    Dernier message: 07/12/2005, 16h26

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