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 :

datagridview update ou refresh ?


Sujet :

VB.NET

  1. #1
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    76
    Détails du profil
    Informations personnelles :
    Âge : 34

    Informations forums :
    Inscription : Mai 2006
    Messages : 76
    Points : 62
    Points
    62
    Par défaut datagridview update ou refresh ?
    re

    pour situer mon probleme

    j'ai un datagridview, qui grace à une requete sous oracle , affiche les données que je souhaite .

    Lors d'un ajout d'une valeur dans un autre formulaire , je met à jour cette table mais lorsque je retourne sur le datagridview : aucun changement !

    il faut fermer l'applicatiion et la réouvrir , ainsi de suite ... pour voir à chaque fois pour voir que la modification a été prise en compte


    j'ai fait mais en vain ! je ne sais pas quoi faire pour que le datagridview se mette à jour à l'instant où la ligne de latable change !
    advienne que pourra

  2. #2
    Membre averti
    Avatar de Ogotcha
    Inscrit en
    Juillet 2008
    Messages
    232
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Juillet 2008
    Messages : 232
    Points : 398
    Points
    398
    Par défaut
    Si la valeur que tu mets a jour est via ta connexion Oracle en SQL alors pour le refresh de ta datagrid il te faut appeler a nouveau le SQL qui créé ton datasource de ta grid afin de recharger toute tes données (j'espère être assez clair ?? )

    En quelques étapes :
    -> Début de ton programme
    -> Premier chargement de ta grille
    -> Ouverture du second form avec mise a jours SQL des données sur ta base Oracle (Fonction Update des données)
    -> Sur le form1 rappel de la fonction de chargement des données de ton datasource de ta grid
    Mon Blog
    FAQs DotNet
    Fonction utile : Recherche

  3. #3
    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 : 42
    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
    Points : 39 749
    Points
    39 749
    Par défaut
    fais voir comment tu remplis ton datagridview

  4. #4
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    76
    Détails du profil
    Informations personnelles :
    Âge : 34

    Informations forums :
    Inscription : Mai 2006
    Messages : 76
    Points : 62
    Points
    62
    Par défaut
    voici comment je rempli mon datagridview dans le load

    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
     
    For k As Integer = 1 To .Columns.Count
      For j As Integer = 0 To .Rows.Count - 3
        cmd.CommandText = "select sum(cou_mnt_cou) from cout where cou_num_equ = ( select equ_num_equ from equipement where equ_lib_equ='" & DataGridView1.Item(0, j).Value.ToString & "' ) and cou_ann_cou='" & DataGridView1.Columns(k).Name.ToString & "'"
        cmd.CommandType = CommandType.Text
        Dim dr2 As OracleDataReader = cmd.ExecuteReader
        While dr2.Read()
          Me.DataGridView1.Item(k, j).Value = dr2.Item(0)
          'affiche le total pour chaque colonne
          cmd.CommandText = "select sum(cou_mnt_cou) from cout where cou_ann_cou ='" & DataGridView1.Columns(k).Name.ToString & "'"
          cmd.CommandType = CommandType.Text
          Dim dr1 As OracleDataReader = cmd.ExecuteReader
          While dr1.Read()
            Me.DataGridView1.Item(k, j + 1).Value = dr1.Item(0)
          End While
          dr1.Close()
        End While
        dr2.Close()
      Next j
    Next k
    advienne que pourra

  5. #5
    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 : 42
    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
    Points : 39 749
    Points
    39 749
    Par défaut
    Oula... c'est un peu n'importe quoi ce code
    Mais bon, passons... puisque tu gères complètement manuellement le remplissage de la grille, pour la rafraichir, il faut que tu re-exécutes le code qui permet de la remplir

  6. #6
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    76
    Détails du profil
    Informations personnelles :
    Âge : 34

    Informations forums :
    Inscription : Mai 2006
    Messages : 76
    Points : 62
    Points
    62
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     DataGridView1.Rows.Clear()
            DataGridView1.Refresh()
            DataGridView1.Invalidate()
            Affiche_tableau()
    voilà dans la foulée j'ai trouvé pour faire ma mise à jour du datagrid

    j'ai effacé toutes les lignes
    puis un refresh
    le invalidate qui permet de faire le update
    et enfin je réaffiche mon datagrid !!!





    le code précédent est complexe mais je vais le changer car maintenant j'utilise 2 datagridvews : un pour l'affichage des données et le 2ime datagridview pour le total des colonnes du 1er datagridview !!

    ouf
    advienne que pourra

  7. #7
    Candidat au Club
    Homme Profil pro
    Développeur avec plusieur languages
    Inscrit en
    Août 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur avec plusieur languages

    Informations forums :
    Inscription : Août 2014
    Messages : 2
    Points : 3
    Points
    3
    Par défaut
    salut
    j'ai le même problème quand je met de nouvelles informations sur la form2 (add information) , y a pas de modification sur la form1 exactement sur datagridview1 ! il faut redémarrer l'application pour voire les modifications sur datagridview !

    j'ai déja utilisé ton CODE "merci"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
            DataGridView1.Refresh()
            DataGridView1.Invalidate()
    mais il fonction je peux voire le signe d'actualisation sur le datagridview mais encore sans modification :O ! :'( quoi faire
    N.B.dsl pour ma français :/

  8. #8
    Nouveau Candidat au Club
    Inscrit en
    Janvier 2007
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 1
    Points : 1
    Points
    1
    Par défaut SI VOUS REMPLIR VOUS DATAVIEW TU PEUT UTILISER CETTE PROD STANDARD
    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
    Dim ds As New DataSet
            Dim dvo As DataView
            Deferenterefrence()
            N_devisLabel1.Text = N_devis
            Try
                If MyConnexion.State = ConnectionState.Closed Then MyConnexion.Open()
                Mycommand = New OleDbCommand("select * from Tablemarchandise", MyConnexion)
                mydataAdapter.SelectCommand = Mycommand
                mydataAdapter.Fill(ds, "Create DataView")
                mydataAdapter.Dispose()
                Mycommand.Dispose()
                MyConnexion.Close()
                dvo = New DataView(ds.Tables(0), "N_devis = '" & N_devis & "'", "réf", DataViewRowState.CurrentRows)
                dvo.AllowDelete = False
                dvo.AllowEdit = True
                dvo.AllowNew = False
     
                TableMarchandiseDataGridView.DataSource = dvo
                ENSACCESSOIRES()
                MISEAJOURTOTALPRIX()
            Catch ex As Exception
                MsgBox(ex.ToString)
            Finally
                Mycommand.Dispose()
            End Try

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

Discussions similaires

  1. DataGridView probleme de refresh
    Par darckangel7 dans le forum C#
    Réponses: 5
    Dernier message: 21/09/2012, 09h47
  2. JMenuBar Update et Refresh ?
    Par gjhffd dans le forum Composants
    Réponses: 0
    Dernier message: 15/06/2009, 14h02
  3. Réponses: 11
    Dernier message: 26/04/2009, 19h02
  4. Réponses: 6
    Dernier message: 10/09/2008, 14h29

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