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 :

[C#]: Actualiser DataGridView lors d'ajout un enregistrement dans la BD [Débutant]


Sujet :

Windows Forms

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Février 2014
    Messages : 3
    Points : 5
    Points
    5
    Par défaut [C#]: Actualiser DataGridView lors d'ajout un enregistrement dans la BD
    Bon soir tout le monde

    j'ai un problème pour faire actualiser ma datagridview automatiquement et sans click ou boutton.

    j'ai un BD attacher à un form qui a justement la gridview et je veut que cette grid va faire actualiser ses ligne automatiquement.
    voila le code que j'utilise :

    ========================================================================================================

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using System.Data.SqlClient;
    using System.Media;

    namespace Perso_TERM
    {

    public partial class Form1 : Form
    {
    SqlConnection cnx;
    SqlDataAdapter da;
    DataRow dr;
    string str, req;
    DataSet ds;
    public Form1()
    {
    InitializeComponent();

    }

    private void Form1_Load(object sender, EventArgs e)
    {
    str = "Data source=Localhost;Initial catalog=netTime;user id=netTime;password=netTime";
    cnx = new SqlConnection(str);
    cnx.Open();
    req = "select * from perso";
    da = new SqlDataAdapter(req, cnx);
    ds = new DataSet();
    da.Fill(ds, "Perso");
    dataGridView1.DataSource = ds.Tables["Perso"];
    dataGridView1.Refresh();

    ========================================================================================================

    je veut pas utiliser un bouton, aussi je peut pas éditer le source de l'application qui fait l'ajout.

  2. #2
    Membre expérimenté Avatar de callo
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2004
    Messages
    887
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Togo

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Service public

    Informations forums :
    Inscription : Février 2004
    Messages : 887
    Points : 1 699
    Points
    1 699
    Par défaut
    Tu peux utiliser un timer pour exécuter un code chaque x secondes ou miniutes. Tu peux donc avec le timer, actualiser l'affichage des données de ton datagridview. Tu définis la fréquence des événéments à l'aide de la propriété Interval du Timer et tu exécuter ton code de chargement dans
    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    private void timer1_Tick(object sender, EventArgs e)
     {
           // ... Code de chargement
     }

    Pour réfléter les changements apportés, je passe souvent par un objet Binding Source. Tu pourrais stocker les données dans une DataTable; définir cette dernière comme source de données de ton objet Binding Source puis enfin définir l'objet Binding Souce comme DataSource du DataGridView. Ainsi, tout changement dans le DataGridViewsera réflecté dans la DataTable et inversement. Lorsque tu réchargeras les données de la Datatable, les changements seront donc automatiquement appliqués au DataGridView.
    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    // ...
    DataTable maTable= new DataTable();
    BindingSource MonBindingSource = new BindingSource();
    MonBindingSource.Datasource = maTable;
    MonDataGridView.Datasource = MonBindingSource ;
    N'oubliez pas le tag et

  3. #3
    Membre expérimenté Avatar de callo
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2004
    Messages
    887
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Togo

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Service public

    Informations forums :
    Inscription : Février 2004
    Messages : 887
    Points : 1 699
    Points
    1 699
    Par défaut
    A savoir: l'instuction DataGridview1.Refresh() ne chargera pas de nouvelles lignes ou les derniers update dans ton datagridview car en fait, Refresh redessine ton contrôle.
    N'oubliez pas le tag et

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Février 2014
    Messages : 3
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par callo Voir le message
    Tu peux utiliser un timer pour exécuter un code chaque x secondes ou miniutes. Tu peux donc avec le timer, actualiser l'affichage des données de ton datagridview. Tu définis la fréquence des événéments à l'aide de la propriété Interval du Timer et tu exécuter ton code de chargement dans
    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    private void timer1_Tick(object sender, EventArgs e)
     {
           // ... Code de chargement
     }
    Oui j'utilise le Timer et ça fonctionne très bien , merci à vous m. Callo

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

Discussions similaires

  1. ajout d'enregistrement dans un sous-formulaire
    Par LBSinclair dans le forum Access
    Réponses: 2
    Dernier message: 10/04/2006, 23h11
  2. Réponses: 2
    Dernier message: 08/02/2006, 21h22
  3. [VB]Ajout d'enregistrement dans un DBGrid
    Par nikita34 dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 26/01/2006, 08h39
  4. ajouter un enregistrement dans un ofrmulaire
    Par kevinch dans le forum IHM
    Réponses: 5
    Dernier message: 08/01/2006, 17h59
  5. Réponses: 9
    Dernier message: 19/12/2005, 15h53

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