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 :

sauvgarder une ligne séléctionnée dans un dataGridView [Débutant]


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Novembre 2006
    Messages
    262
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 262
    Par défaut sauvgarder une ligne séléctionnée dans un dataGridView
    bonjour,

    j'ai un DataGridView alimenté par une requête SQL, en supprimant une ligne du datagridview, ce dernier et réalimenter ensuite par la meme requete par conséquent la première ligne est séléctionné par défaut.

    moi ce que je voudrais faire, c'est qu'en supprimant la 4ème ligne par exemple , le datagridview se réaliment mais en gardant toujours la 4ème ligne séléctionnée.

    y'a t il un moyen de le faire ???

    Merci.

  2. #2
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2011
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2011
    Messages : 20
    Par défaut
    Salut,

    je pense que si sur l’évènement RowsRemoved, tu enregistres la valeur de Tadagridview.RowIndex:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    I = Tadagridview.RowIndex;
    , et une fois que le rechargement est fait , tu fait l'inverse :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Tadagridview.RowIndex = I
    Normalement ça devrait fonctionner.

    Tiens nous au courant

  3. #3
    Membre émérite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2010
    Messages
    479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

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

    Informations forums :
    Inscription : Août 2010
    Messages : 479
    Par défaut
    Salut,
    essayes ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     private void dgv_RowsRemoved(object sender, DataGridViewRowsRemovedEventArgs e)
    {
                dgv.Rows[e.RowIndex].Selected = true;
    }
    Abonnes toi à l'évènement "ligne supprimée" du DataGridView.
    Donc lorsqu'une ligne est supprimée, tu récupères son index et tu ordonnes du dgv de sélectionner cet index.
    Attention si tu supprimes la dernière ligne

    EDIT : devancé...

  4. #4
    Membre éclairé
    Inscrit en
    Novembre 2006
    Messages
    262
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 262
    Par défaut
    Merci pour vos réponse, et excusez ma réponse tardive,

    désolé, j'ai pas su appliquer ce que vous m'avez donné;

    voila ce que j'ai :

    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
     
    private void Supprimer_Click(object sender, EventArgs e)
            {
     
                try
                {
                    string con = ConfigurationManager.ConnectionStrings["connection"].ConnectionString;
                    using (SqlConnection connexion = new SqlConnection())
                    {
                        connexion.ConnectionString = con;
                        connexion.Open();
     
     
                        {
     
                            //Suppression de la ligne
                            SqlCommand sqlCommand = new SqlCommand("delete from table where champs=@champs", connexion);
     
                            sqlCommand.Parameters.Add("@champs", SqlDbType.Int);
                            sqlCommand.Parameters["@champs"].Value = Convert.ToInt32(champs.Text);
                            sqlCommand.ExecuteNonQuery();
     
     
                            //remplissage du datagridview
     
                            SqlCommand sc = new SqlCommand ("select * from table1 ",connexion);
                            SqlDataAdapter adaptater = new SqlDataAdapter(sc);
                            DataSet dataset = new DataSet();
                            adaptater.Fill(dataset);
                            dGV.DataSource= dataset.Tables[0];
     
                        }
     
                        connexion.Close();
                    }
                }
                catch (Exception err)
                {
                    MessageBox.Show(err.Message);
                }
            }
    comment dans ce cas utiliser le :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    private void dgv_RowsRemoved(object sender, DataGridViewRowsRemovedEventArgs e)
    {
                dgv.Rows[e.RowIndex].Selected = true;
    }

    Merci .

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

Discussions similaires

  1. [C#] Colorer une ligne entière dans DataGridView
    Par Caillet_Olivier dans le forum Windows Forms
    Réponses: 4
    Dernier message: 12/06/2014, 16h17
  2. Réponses: 3
    Dernier message: 23/07/2013, 14h11
  3. sauvgarde une ligne ajouté dans datagrid extjs
    Par jerada dans le forum Ext JS / Sencha
    Réponses: 2
    Dernier message: 21/05/2012, 15h17
  4. colorer une ligne séléctionné dans un datatable
    Par amico2009 dans le forum JSF
    Réponses: 2
    Dernier message: 09/04/2009, 21h40
  5. Réponses: 3
    Dernier message: 16/07/2008, 11h01

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