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 :

Ouvrir datagrid dans form2 en cliquant sur un boutton en form1


Sujet :

Windows Forms

  1. #1
    Futur Membre du Club
    Inscrit en
    Novembre 2009
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 13
    Points : 9
    Points
    9
    Par défaut Ouvrir datagrid dans form2 en cliquant sur un boutton en form1
    salut à tous,
    En cliquant sur un bouton dans un form1 je veux qu'on m'affiche une datagridview dans form2 contenant une table de la base de donnée, mais le probleme c'est que le datagrid view s'affiche vide.
    voici mon code :
    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
    
    //CODE DU FORM1
     private void button2_Click(object sender, EventArgs e)  
            {
                
                Form2 form2 = new Form2(cn);
                form2.Show();
                this.Enabled = false;
            }
    
    
    /////CODE DU FORM2
    
    public Form2(SqlConnection cn)  
            {
                InitializeComponent();
                c = cn;               
            }
    
            private void Form2_Load(object sender, EventArgs e)
            {
                dataGridView1.SelectionMode =   DataGridViewSelectionMode.FullRowSelect;
                string connectionString = "Data Source=.\\SQLEXPRESS;AttachDbFilename=C:\\Documents and Settings\\Administrateur\\Mes documents\\stock.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True";
    
                c.ConnectionString = connectionString;
    
                SqlDataAdapter d = new SqlDataAdapter("select * from fournir", c);
    
                MessageBox.Show("La connexion avec la base de donnée est faite!!!!!");
                DataTable dt = new DataTable();
                d.Fill(dt);
                dataGridView1.DataSource = dt;
    }

    Merci et bonne journée

  2. #2
    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
    le code a l'air correct... tu es sûr qu'il y a des données dans la table ?

  3. #3
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut
    Et ou ouvre-t-on la connexion ???
    « Ils ne savaient pas que c'était impossible, alors ils l'ont fait ». (Twain)

  4. #4
    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
    Citation Envoyé par olibara Voir le message
    Et ou ouvre-t-on la connexion ???
    SqlDataAdapter.Fill le fait si elle n'est pas déjà ouverte

  5. #5
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut
    SqlDataAdapter.Fill le fait si elle n'est pas déjà ouverte
    Jamais essayé..
    Moi j'ouvre toujours explicitement ... tu me connais
    « Ils ne savaient pas que c'était impossible, alors ils l'ont fait ». (Twain)

  6. #6
    Futur Membre du Club
    Inscrit en
    Novembre 2009
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 13
    Points : 9
    Points
    9
    Par défaut
    Salut à tous,
    La connexion est ouverte en form1,je l'ai testé en form2, elle est valable.
    Concernant ma base de donnée elle contient des enregistrements.

    Merci

  7. #7
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut
    La connexion est ouverte en form1,je l'ai testé en form2, elle est valable.
    Concernant ma base de donnée elle contient des enregistrements
    .

    Si la conexion est ouverte dans form1, je ne vois pas pourquoi tu redefinis le connexion string en Form2 ??
    « Ils ne savaient pas que c'était impossible, alors ils l'ont fait ». (Twain)

  8. #8
    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
    Citation Envoyé par olibara Voir le message
    Si la conexion est ouverte dans form1, je ne vois pas pourquoi tu redefinis le connexion string en Form2 ??
    Effectivement c'est le genre de truc qui peut foutre la m***e...
    D'ailleurs mettre une connection string en dur dans le code, c'est une très mauvaise idée... si un jour tu veux changer de base de données tu es obligé de modifier le code. Il faut la mettre dans les settings

  9. #9
    Futur Membre du Club
    Inscrit en
    Novembre 2009
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 13
    Points : 9
    Points
    9
    Par défaut
    salut tout le monde,
    J'ai changer le code , j'ai utilisé le constructeur d'origine de la form2, mais le problème persiste.
    Voici mon code:
    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
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    //form1
    private void button2_Click(object sender, EventArgs e)
            {
                
                Form2 form2 = new Form2();
                form2.Show();
                this.Enabled = false;
            }
    
    
    //form2
    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.Data.Sql;
    
    namespace gestock
    {
        public partial class Form2 : Form
        {
    
             SqlConnection c=new SqlConnection();
            public Form2()
            {
                InitializeComponent();
                FillData();
            }
    
            /*public Form2(SqlConnection cn)
            {
                InitializeComponent();
                c = cn;
            }*/
    
            private void Form2_Load(object sender, EventArgs e)
            {
                //dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
    
                //FillData();
            }
             
             void FillData()
            {
                string connectionString = "Data Source=.\\SQLEXPRESS;AttachDbFilename=C:\\Documents and Settings\\Administrateur\\Mes documents\\stock.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True";
                c.ConnectionString = connectionString;
                SqlDataAdapter d = new SqlDataAdapter("select * from fournir", c);
                //MessageBox.Show("La connexion avec la base de donnée est faite!!!!!");
                DataTable dt = new DataTable();
                d.Fill(dt);
                //d.Fill(dt);
                dataGridView1.DataSource = dt.DefaultView;
                   
            }
          
        }
    }
    MERCI POUR VOTRE AIDE

  10. #10
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut
    Et pourquoi tu n'a pas laissé le fillData dans le form load ?

    C'est pas une bonne idée
    « Ils ne savaient pas que c'était impossible, alors ils l'ont fait ». (Twain)

  11. #11
    Futur Membre du Club
    Inscrit en
    Novembre 2009
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 13
    Points : 9
    Points
    9
    Par défaut
    Salut
    Lorsque j'ai laissé la fonction FillData() dans load_form2 (), l'ordinateur se plante pendant quelques secondes puis il m'affiche un message d'erreur, celui ci
    Une exception non gérée du type 'System.StackOverflowException' s'est produite dans mscorlib.dll.
    Quelqu'un peut m'aider??

    MERCI

  12. #12
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut
    As tu déja tracé avec ton débugueur et un break point dans ce form_load ?
    « Ils ne savaient pas que c'était impossible, alors ils l'ont fait ». (Twain)

  13. #13
    Futur Membre du Club
    Inscrit en
    Novembre 2009
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 13
    Points : 9
    Points
    9
    Par défaut
    Salut les gars,
    Finalement j'ai pu afficher la table dans le datagridview,le problème est que j'ai mal configuré ma base,
    le code fonctionne trés bien .
    Le code est le suivant:


    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
    42
    43
    44
    45
    46
     
    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;
     
    namespace gestock1
    {
     
        public partial class Form2 : Form
        {
     
            SqlConnection c = new SqlConnection();
            public Form2()
            {
                InitializeComponent();
                FillData();
            }
     
            private void Form2_Load(object sender, EventArgs e)
            {
                //dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
     
                //FillData();
            }
     
            void FillData()
            {
                string connectionString = "Data Source=.\\SQLEXPRESS;AttachDbFilename=C:\\Documents and Settings\\Administrateur\\Mes documents\\stockage.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True";
                c.ConnectionString = connectionString;
                SqlDataAdapter d = new SqlDataAdapter("select * from fournir", c);
                //MessageBox.Show("La connexion avec la base de donnée est faite!!!!!");
                DataTable dt = new DataTable();
                d.Fill(dt);
                //d.Fill(dt);
                dataGridView1.DataSource = dt.DefaultView;
     
            }
     
        }
    }

    Je vous remercie tous

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

Discussions similaires

  1. Ouvrir un fichier excel dans Excel en cliquant sur un bouton
    Par Ceubex dans le forum Général Java
    Réponses: 8
    Dernier message: 04/07/2011, 11h47
  2. Réponses: 2
    Dernier message: 26/09/2008, 14h37
  3. Réponses: 9
    Dernier message: 28/05/2008, 14h32
  4. Ouvrir un fichier word en cliquant sur un Tlabel ?
    Par bahamut100 dans le forum Débuter
    Réponses: 9
    Dernier message: 18/10/2007, 20h14
  5. ouvrir deux doc excel en cliquant sur le raccourci
    Par guismoman33 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 11/12/2006, 18h23

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