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

ASP.NET Discussion :

remplir gridview via plusieurs requêtes


Sujet :

ASP.NET

  1. #1
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Août 2006
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2006
    Messages : 132
    Par défaut remplir gridview via plusieurs requêtes
    Bonjour,

    j'aimerais remplir ma gridview via plusieurs requêtes. J'utilise actuellement un DataTable qui permet de structurer mes colonnes. Je dois utiliser exactement 2 requêtes différentes, mais mes résultats ne s'affichent pas dans la bonne colonne.

    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
     
     //affichage dans GridView Semaine
            DataTable myTable = new DataTable();
            myTable.Columns.Add("Jour");
            myTable.Columns.Add("Nb TK créés");
            myTable.Columns.Add("Nb TK Clôturés");
     
            SqlConnection myConnexionTKCree = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionStringHotlineSQL"].ToString());
            SqlConnection myConnexionTKClot = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionStringHotlineSQL"].ToString());
     
            SqlCommand myCommandTKCree = new SqlCommand("SELECT COUNT(*) AS NbTKcree, DATEPART(dd,DateDebut) AS DateDebut FROM T_TICKET INNER JOIN T_INTERVENANT_TICKET ON T_TICKET.IDTicket = T_INTERVENANT_TICKET.IDTicket WHERE T_INTERVENANT_TICKET.IDActeur LIKE " + ddlInter.SelectedValue.ToString() + " GROUP BY DATEPART(dd,DateDebut) ORDER BY DATEPART(dd,DateDebut)", myConnexionTKCree);
            SqlCommand myCommandTKClot = new SqlCommand("SELECT COUNT(*) AS NbTKclot FROM T_TICKET INNER JOIN T_INTERVENANT_TICKET ON T_TICKET.IDTicket = T_INTERVENANT_TICKET.IDTicket WHERE T_INTERVENANT_TICKET.IDActeur LIKE " + ddlInter.SelectedValue.ToString() + " AND DateFin IS NOT NULL GROUP BY DATEPART(dd,DateDebut) ORDER BY DATEPART(dd,DateDebut)", myConnexionTKClot);
     
            myConnexionTKCree.Open();
     
            SqlDataReader myReaderTKcree = myCommandTKCree.ExecuteReader();
            ArrayList myList;
            while (myReaderTKcree.Read())
            {
                myList = new ArrayList();
     
                myList.Add(myReaderTKcree["DateDebut"].ToString());
                myList.Add(myReaderTKcree["NbTKcree"].ToString());
     
                myTable.Rows.Add(myList.ToArray());
            }
            myConnexionTKClot.Open();
     
            SqlDataReader myReaderTKClot = myCommandTKClot.ExecuteReader();
            while (myReaderTKClot.Read())
            {
                if (myReaderTKClotM["NbTKclot"].ToString()=="")
                {
                    myTable.Rows.Add("0");
                }
                else
                {
                    myTableMois.Rows.Add(myReaderTKClotM["NbTKclot"].ToString());
                }
            }
     
            gvRapportS.DataSource = myTable;
            gvRapportS.DataBind();
            myConnexionTKCree.Close();
            myReaderTKClot.Close();
            myReaderTKcree.Close();
            myReaderTKClot.Close();
    Voici mon résultat :



    Si vous avez des idées sur une éventuelle solution, je suis preneur car ça me prend la tête.

    Merci d'avance

  2. #2
    Membre Expert Avatar de bossun
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    1 359
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 359
    Par défaut
    alors ce code t'ajoute une nouvelle ligne...

    si tu veux ajouter au bon endroit essaie de procéder de cette manière


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    myTable.Rows[index].ItemArray[indexC] = "toto";

Discussions similaires

  1. [AC-2002] Remplir une table à partir de plusieurs requêtes
    Par jerome94 dans le forum VBA Access
    Réponses: 6
    Dernier message: 23/10/2011, 17h11
  2. Réponses: 0
    Dernier message: 27/06/2011, 11h36
  3. Récupurer via une requête SQL la valeur la plus proche
    Par yoda_style dans le forum Langage SQL
    Réponses: 9
    Dernier message: 27/04/2004, 13h52
  4. [Optimisation] Que privilégier : une ou plusieurs requêtes ?
    Par Dimitri01 dans le forum Langage SQL
    Réponses: 6
    Dernier message: 25/01/2004, 11h29
  5. [Technique] Conflits entre plusieurs requêtes
    Par Neowile dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 24/03/2003, 09h37

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