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 :

rafraichir un datagridview


Sujet :

Windows Forms

  1. #1
    Membre actif Avatar de turican2
    Profil pro
    Inscrit en
    Août 2006
    Messages
    257
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations forums :
    Inscription : Août 2006
    Messages : 257
    Points : 239
    Points
    239
    Par défaut rafraichir un datagridview
    Bonjour à vous

    je suis sous vb2008 et j'ai un souci pour rafraichir un datagridview.

    J'ai pris ce composant que j'ai posé sur mon form et gentillement, celui ci m'a demandé ma source de donnée etc...

    ce composant fonctionne à merveille en chargeant ce qu'il faut, mais quand j'ajoute une donnée par le form, il n'est alors impossible de rafraichir le datagrid sans avoir à le fermer et le reouvrir.

    mon form_Load m'écrit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    'TODO*: cette ligne de code charge les données dans la table 'AfcpeDataSet.etablissement'. Vous pouvez la déplacer ou la supprimer selon vos besoins.
    Me.EtablissementTableAdapter.Fill(Me.AfcpeDataSet.etablissement)
    moi je comptais ajouter et rafraichir de la sorte en utilisant un buton:
    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
     
    Dim MyConnexion As OleDbConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data source=C:\Users\slebrun\Documents\Visual Studio 2008\Projects\Gestion_Livre_FCPE\ressource\afcpe.mdb")
            Dim Mycommand As OleDbCommand = MyConnexion.CreateCommand()
     
            If Not TextBox1.Text = "" Then
                Mycommand.CommandText = "insert into etablissement (ch0002) values('" & TextBox1.Text & "')"
                MyConnexion.Open()
                Dim myReader As OleDbDataReader = Mycommand.ExecuteReader()
     
            End If
     
            MyConnexion.Close()
     
            TextBox1.Text = ""
            TextBox1.Enabled = False
            Button2.Enabled = False
     
            ' Le code sensé rafraichir le contenu
            Me.EtablissementTableAdapter.Update(Me.AfcpeDataSet.etablissement)
            DataGridView1.Refresh()
    Les données s'insèrent bien quand je referme et ré ouvre... mais impossible d'obtenir un rafraichissement à l'intérieur du form.

    Quelqu'un saurait il ce qui se passe??

    merci de vos retours.
    "La connaissance s'accroît quand on la partage."(Socrate)

    Si vous trouvez vous même la solution au POST que vous venez de poser, indiquez nous comment vous avez fait

  2. #2
    Membre chevronné Avatar de Danyel
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2005
    Messages
    1 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 682
    Points : 1 952
    Points
    1 952
    Par défaut
    Il me semble qu'il faut faire un refresh sur les cellules et pas directement sur le dgv.
    Que les neurones soient avec toi, jeune padawan.
    Ne pas oublier, qu'un métier, développer être.
    Effectuer des recherches et lire les tutos, avant de poster, tu dois.
    Aucune question technique, faites par MP, tu ne dois.

  3. #3
    Membre actif Avatar de turican2
    Profil pro
    Inscrit en
    Août 2006
    Messages
    257
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations forums :
    Inscription : Août 2006
    Messages : 257
    Points : 239
    Points
    239
    Par défaut
    bon au final trop la misère ce datareader. Je suis donc passé par un listview de la sorte.

    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
     
     Try
    Dim MyConnexion As OleDbConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data source=C:\afcpe.mdb")
                Dim Mycommand As OleDbCommand = MyConnexion.CreateCommand()
                Mycommand.CommandText = "SELECT * FROM etablissement"
                MyConnexion.Open()
     
                Dim myReader As OleDbDataReader = Mycommand.ExecuteReader()
     
                ListView1.Clear()
                ListView1.View = View.Details
                ListView1.Columns.Add("n°", 60, HorizontalAlignment.Left)
                ListView1.Columns.Add("Etablissement", 60, HorizontalAlignment.Left)
     
     
                Do While myReader.Read()
                    Dim LVI As New ListViewItem
                    LVI.Text = myReader(0).ToString()
                    LVI.SubItems.Add(myReader(1).ToString)
                    ListView1.Items.Add(LVI)
                    'ListView1.Items.Add(myReader.GetString(0))
                Loop
            Catch ex As Exception
                MessageBox.Show("Impossible d'établir la connection à la base." & ex.Message)
            End Try
    ensuite un simple listview1.refresh() et c'est réglé.

    voilà voilà mais bon si quelqu'un trouve une vraie solution pour rafraichir un datareader je suis preneur.
    "La connaissance s'accroît quand on la partage."(Socrate)

    Si vous trouvez vous même la solution au POST que vous venez de poser, indiquez nous comment vous avez fait

  4. #4
    Responsable .NET

    Avatar de Hinault Romaric
    Homme Profil pro
    Consultant
    Inscrit en
    Janvier 2007
    Messages
    4 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2007
    Messages : 4 570
    Points : 252 372
    Points
    252 372
    Billets dans le blog
    121
    Par défaut
    voilà voilà mais bon si quelqu'un trouve une vraie solution pour rafraichir un datareader je suis preneur.
    Tu veut parler du DGV? une solution serais de ne pas utilise le Binding comme tu l'a fait avec le Listview.
    Ou dans le cas précèdent après le update de la source de données tu la liée de nouveau au DGV avant de faire le refresh.

    @++
    Vous souhaitez participer aux rubriques .NET ? Contactez-moi

    Si déboguer est l’art de corriger les bugs, alors programmer est l’art d’en faire
    Mon blog, Mes articles, Me suivre sur Twitter
    En posant correctement votre problème, on trouve la moitié de la solution

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

Discussions similaires

  1. Rafraichir un datagridview
    Par Tone31 dans le forum VB.NET
    Réponses: 4
    Dernier message: 24/06/2011, 10h20
  2. Rafraichir un datagridview (ou MAJ)
    Par bubu434343 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 17/12/2009, 00h28
  3. Rafraichir un DataGridView sur un autre module
    Par lionel256 dans le forum VB.NET
    Réponses: 3
    Dernier message: 06/04/2008, 12h12
  4. Rafraichir un Datagridview
    Par nico71 dans le forum Framework .NET
    Réponses: 1
    Dernier message: 06/11/2007, 08h05
  5. Rafraichir un DataGridView selon valeur tapée
    Par Igmar dans le forum VB.NET
    Réponses: 13
    Dernier message: 20/07/2007, 15h48

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