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 :

Remplir un dataGrid en mode connecté


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 571
    Par défaut Remplir un dataGrid en mode connecté
    Bonjour tout le monde,

    Je souhaite remplir mon dataGrid à l'aide d'une requête qui est composé de 2 tables. Je suis en mode connecté.

    Je souhaiterais avoir vos conseil, votre aide pour y réaliser cela.

    J'ai entendu parler d'un "ArrayListe", je souhaiterais donc savoir s'il est possible d'utiliser cela pour remplir mon dataGrid?? Si oui, de quel manière??

    Y a t'il une autre méthode pour remplir mon dataGrid à l'aide des données correspondant à 2 tables de ma base SqlServer en mode connecté??Si oui, comment faut-il procéder??

    Merci d'avance pour votre aide, vos conseil en espérant avoir des réponses le plus rapidement possible car c'est assez urgent(c'est pour mon BTS que je passe à l'oral la semaine prochaine.)

    Cordialement.

  2. #2
    Membre émérite
    Homme Profil pro
    Inscrit en
    Février 2006
    Messages
    565
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations forums :
    Inscription : Février 2006
    Messages : 565
    Par défaut
    En utilisant un dataset que tu remplis avec ta requête puis tu utilises le "binding".

    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
            // Création de la chaîne de connexion
            string _ConnectionString =  "..."
     
            // Création de la connexion
            SqlConnection _SqlConnection = new SqlConnection();
            _SqlConnection.ConnectionString = _ConnectionString;
     
            // Création du SqlDataAdapter
            SqlDataAdapter da = new SqlDataAdapter("SELECT ...FROM ...", _SqlConnection);
     
            // Création d'un DataSet
            DataSet ds = new DataSet();
     
            // Remplissage du DataSet avec le SqlDataAdapter
            da.Fill(ds, "Table1");
     
            // Remplissage du DataGrid en utilisant la propriété DataSource
            dataGrid1.DataSource = ds;

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 571
    Par défaut réponse à ddaime
    Ok, merci pour ta réponse.

    Mais cette technique est vraiment utilisé en mode connecté?? Car si j'ai bien compris ce que ma dit mon professeur, le dataSet est utilisé en mode déconnecté et non connecté??

    Cordialement.

  4. #4
    Membre émérite
    Homme Profil pro
    Inscrit en
    Février 2006
    Messages
    565
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations forums :
    Inscription : Février 2006
    Messages : 565
    Par défaut
    Le dataset n'est pas utilisé uniquement en mode déconnecté, et heureusement. Le mode déconnécté utilise un dataset fortement typé (le fichier .xsd) mais tu peux utilisé un dataset en mode connécté sans aucun probléme.

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 571
    Par défaut réponse à ddaime
    Ok, merci pour ta réponse claire. Donc j'avais bien réaliser la chose.

    En faite, j'ai un problème, voici l'explication :
    * Je choisit un numéro d'intervention qui m'affiche les articles correspondant dans le datagrid(si yen a) --> Cela fonctionne.
    * Ensuite, on peut si on le souhaite rajouter des articles dans le dataGrid grâce à une comboBox(Désignation des articles) et des label(correspondant au quantité, prixUnitaireHT et au prix unitaire TTC.

    Ce deuxième point fonctionne pas comme je le souhaite, c'est à dire qu'il m'insére les nouveaux articles dans le dataGrid à la place de ceux déja existant(il me supprime les existant) alors que je souhaiterais qu'il les insére à la suite.

    Donc voici le code que j'utilise pour insérer les articles supplémentaires dans le dataGrid :
    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
    private void Form1_Load(object sender, System.EventArgs e)
    		{
    			// Création du dataTable
    			dt = new DataTable();
    			dt.Columns.Add("Désignation");
    			dt.Columns.Add("quantité");
    			dt.Columns.Add("PU_HT");
    			dt.Columns.Add("PU_TTC");
    			dt.Columns.Add("Remise");
    		}
     
     
     
    // Se situe dans le constructeur
    		DataSet ds2 = new DataSet();
    		DataTable dt = new DataTable();
     
     
    // Insertion des valeurs dans les colonnes correspondantes
    					DataRow dr = dt.NewRow();
    					dr[0] = cbDesArt.Text;
    					dr[1] = Qte.Text;
    					dr[2] = label17.Text;
    					dr[3] = label18.Text;
    					dt.Rows.Add(dr);
    					dataGrid3.DataSource = dt; 
    					liste.Add(cbDesArt.Text);
    Je pense que le problème vien du fait que j'utilise un dataTable pour ajouter les articles supplémentaires alors que j'utilise un dataAdapter et un dataSet pour ajouter les articles lors du choix de l'intervention.
    --> J'en conclu donc (je peux me tromper) que je devrais utiliser le même dataSet ou dataTable voir dataAdapter pour qu'il n'y es pas confusion.

    Donc ma question est :
    * Comment je peux faire pour faire en sorte d'afficher les articles supplémentaires à la suite de ceux existant?? (cela peut être différent de ce que j'ai déja réalisé. Le principal c'est que ça s'utilise en mode connecté et que ça fonctionne.)

    J'espère avoir été assez clair dans mes explications et que tu pourra m'aider car j'en ai vraiment besoin et c'est assez urgent comme je l'es précisé ci-dessus.

    Cordialement et surtout merci d'avance!!

  6. #6
    Membre émérite
    Homme Profil pro
    Inscrit en
    Février 2006
    Messages
    565
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations forums :
    Inscription : Février 2006
    Messages : 565
    Par défaut
    Tu as tout à fait raison, tu utilises en fait 2 DataTables dont tu as 2 sources de données différentes. Utilise ton DataSet. Une petite remarque au passage, le DataAdapter est une sorte de connecteur entre ta base de données est le DataSet, c'est lui qui permet de lire et de mettre à jour les données en base.

Discussions similaires

  1. Remplir un dataGrid
    Par PhiberOptik dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 25/04/2006, 23h32
  2. Remplire un DataGrid[vb.net]
    Par charaf dans le forum Windows Forms
    Réponses: 5
    Dernier message: 21/04/2006, 21h26
  3. [C#] Editer un datagrid en mode 'form'
    Par delphi5user dans le forum ASP.NET
    Réponses: 7
    Dernier message: 29/12/2005, 16h27
  4. Réponses: 2
    Dernier message: 02/08/2005, 09h40
  5. [VB.NET] Remplir un DataGrid manuellement ?
    Par dinbougre dans le forum Windows Forms
    Réponses: 9
    Dernier message: 04/02/2005, 18h29

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