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

Windows Forms Discussion :

DataGridView - C# : Manque une ligne dans DGV après suppression et rafraichissement


Sujet :

Windows Forms

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Technicien
    Inscrit en
    Octobre 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2012
    Messages : 4
    Points : 6
    Points
    6
    Par défaut DataGridView - C# : Manque une ligne dans DGV après suppression et rafraichissement
    Bonjour,

    Après la suppression d'une ligne dans un DataGridView avec la touche 'Suppr', je ne parviens pas à le rafraichir correctement.
    Il manque une ligne malgré la réexécution du Binding, ceci après une MAJ DELETE dans la BD puis une requête SELECT pour
    rafraichir le DGV (prise en compte de cette suppression et d'autres modifications par d'autres utilisateurs.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    private void GrillePublication_KeyDown(object sender, KeyEventArgs e)
    {
     if (e.KeyCode == Keys.Delete && GrillePublication.SelectedRows.Count > 0)
    {
    string MaRequDEL = "..."
    CdeAppli.CommandText = MaRequDEL;
    CdeAppli.ExecuteNonQuery();
    CdeAppli.CommandText = stRequSQLPublic;
    DatasetAppli.Tables["TablePublic"].Clear();
    AdapterAppli.Fill(DatasetAppli, "TablePublic");
    La propriété RowCount du DGV renvoi bien le bon nbre de ligne mais il en manque une à l'affichage.

    J'ai essayé plusieurs méthodes, 'Refresh()', 'Update()', Invalidate()', 'DGV.Rows.Clear(), 'DataSource = null' puis de nouveau Datasource,
    mais en vain.

    Quelqu'un peut-il éclairer ma lanterne ? Merci

    En complément, lorsque l'application est réinitialisée, puis relancée, le DataGridView affiche les lignes correctement.

    Je souhaiterais que ce DGV s'actualise correctement sans avoir recharger ma 'Form'. Merci.

  2. #2
    Futur Membre du Club
    Homme Profil pro
    Technicien
    Inscrit en
    Octobre 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2012
    Messages : 4
    Points : 6
    Points
    6
    Par défaut Proposition de solution
    Apparemment l'utilisation de l'Evènement 'UserDeletingRow' convient mieux, ce dernier pouvant être annulé.
    La ligne du DGV qui disparaissait ne l'est plus avec cet Evènement.
    Il semble que le DGV soit perturbé par les suppressions de lignes, lors des rafraichissements.

    Je laisse cette discution ouverte en vue de peut-être avoir une confirmation ou infirmation d'un avis plus compétent.

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: 9
    Dernier message: 21/02/2013, 10h43
  3. Comment forcer la sélection d'une ligne dans un DataGridView
    Par Pizza Royale dans le forum Windows Forms
    Réponses: 5
    Dernier message: 12/06/2007, 12h32
  4. Sélectionner une ligne dans un DataGridView
    Par christopher07 dans le forum Windows Forms
    Réponses: 1
    Dernier message: 25/05/2007, 22h19
  5. [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

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