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 :

Afficher un gridview de plusieurs requetes


Sujet :

ASP.NET

  1. #1
    Membre éclairé
    Inscrit en
    Janvier 2005
    Messages
    460
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Janvier 2005
    Messages : 460
    Par défaut Afficher un gridview de plusieurs requetes
    Bonjour,


    j'ai un gridview que j'affiche grace a cette requete :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    SELECT     RequestGroup.RequestGroupId, RequestGroup.CreateTime, Request.UserId, Request.CompanyId, CompanyUser.CompanyId AS Expr1, 
                          CompanyUser.FirstName, CompanyUser.SecondName, CompanyUser.DirectPhone, CompanyUser.MobileNumber, aspnet_Users.UserName, 
                          Company.CompanyName
    FROM         RequestGroup INNER JOIN
                          Request ON RequestGroup.RequestGroupId = Request.GroupId INNER JOIN
                          aspnet_Users ON Request.UserId = aspnet_Users.UserId INNER JOIN
                          CompanyUser ON aspnet_Users.UserId = CompanyUser.UserId INNER JOIN
                          Company ON Request.CompanyId = Company.CompanyId
    WHERE ((Select count(*) from Request as a where Request.GroupId=a.GroupId AND Request.Step=0) >0)
    GROUP BY RequestGroup.RequestGroupId, RequestGroup.CreateTime, Request.UserId, Request.CompanyId, CompanyUser.CompanyId, 
                          CompanyUser.FirstName, CompanyUser.SecondName, CompanyUser.DirectPhone, CompanyUser.MobileNumber, aspnet_Users.UserName, 
                          Company.CompanyName
    HAVING      (Company.CompanyName = @CompanyName)
    ORDER BY RequestGroup.CreateTime DESC

    Tout va tres bien sauf que j'aimerai egalement afficher d'autres champs dans mon gridview a partir de requetes " SELECT count(*) " notamment.

    Comment ajouter des colonnes pour d'autres requetes ?

    merci

  2. #2
    Membre expérimenté Avatar de ccambier
    Profil pro
    Consultant ERP
    Inscrit en
    Octobre 2006
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant ERP

    Informations forums :
    Inscription : Octobre 2006
    Messages : 256
    Par défaut
    je pense que ton problème se resuodra par du sql et non avec le gridview, dans ta requête tu as déjà un GROUP BY tu peux alors utiliser la fonction COUNT à partir du moment où la colonne se trouve dans le GROUP BY
    pour faire ce que je pense que tu veux faire tu vas alors devoir passer par la programmation et p-e utiliser des ObjectDataSource ou alors construire ta propre source de donnée pour la lier avec le gridview

  3. #3
    Membre éclairé
    Inscrit en
    Janvier 2005
    Messages
    460
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Janvier 2005
    Messages : 460
    Par défaut
    Oui mais j'ai plusieurs Count(*) differents a faire pour exemple

    SELECT Count(*)
    FROM Request
    WHERE Request.Status='Refused'
    GROUP BY Request.GroupId

    SELECT Count(*)
    FROM Request
    WHERE Request.Status='Completed'
    GROUP BY Request.GroupId

  4. #4
    Membre expérimenté
    Homme Profil pro
    Consultant SharePoint
    Inscrit en
    Mars 2006
    Messages
    270
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant SharePoint
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2006
    Messages : 270
    Par défaut
    effectivement si tu peux faire avec du sql....c pas plus mal.
    Mais une autre solution s'offre a toi. J'ai rencontré le cas où je ne pouvais absolument pas appliquer cette méthode (objets de plusieurs tables, du genre arborescence).
    La solution : le datatable.
    En effet tu peux constituer ton datatable avec des datarow ou tu insère chaque instance d'objet.
    Ensuite tu mets cette datatable en datasource de la gridview, puis tu bind la gridview. Hop! le tour est joué...si t'as des questions...

    ++

  5. #5
    Membre expérimenté Avatar de ccambier
    Profil pro
    Consultant ERP
    Inscrit en
    Octobre 2006
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant ERP

    Informations forums :
    Inscription : Octobre 2006
    Messages : 256
    Par défaut
    Effectivement ton problème a des solutions, rassure toi ça peut être résolu mais tout dépend de quelle manière.
    la façon de kazoumoulox est plus interessante, mais tu vas devoir gérer les mises à jour et rafraîchissement toi-même ce qui dans certains cas est plus interessant...

  6. #6
    Membre éclairé
    Inscrit en
    Janvier 2005
    Messages
    460
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Janvier 2005
    Messages : 460
    Par défaut
    A mon avis il y a moyen de le realiser avec un datagrid puisque c'est le meme nombre de reponses.

  7. #7
    Membre expérimenté Avatar de ccambier
    Profil pro
    Consultant ERP
    Inscrit en
    Octobre 2006
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant ERP

    Informations forums :
    Inscription : Octobre 2006
    Messages : 256
    Par défaut
    le problème n'est pas au niveau du nombre de ligne mais plutot au fait que le datagrid (ou le gridview) ne peut avoir qu'une seul source de donnée

  8. #8
    Membre expérimenté
    Homme Profil pro
    Consultant SharePoint
    Inscrit en
    Mars 2006
    Messages
    270
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant SharePoint
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2006
    Messages : 270
    Par défaut
    exactement...
    et ma solution permet d'imbriquer dynamiquement des objets hétérogènes (dans mon cas projet constitué de phases constituées de lots constitués de taches...).
    Cela permet aussi de trier des éléments, ou de n'afficher que certain elements en fonction de parametre (du genre role ou fonction etc...)

    la datatable est manipulable assez facilement, mais d'autres sources de données doivent pouvoir etre acceptées je pense... a creuser.

    un conseil, en constituant ta datatable/gridview -> datakeynames (me suis fé avoir et c lourd a gérer...en gros ce sont des clés primaires de lignes...)
    +

  9. #9
    Membre expérimenté Avatar de ccambier
    Profil pro
    Consultant ERP
    Inscrit en
    Octobre 2006
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant ERP

    Informations forums :
    Inscription : Octobre 2006
    Messages : 256
    Par défaut
    quel est le type de ta DB?
    pcq tu pourrais bien en faire une procédure stockée, qui te permettrais, j'en suis sur, d'obtenir une table avec le résultat que tu attends
    et ensuite tu appels avec ton DataSource (SQL, OLDB) ta procédure stockée au lieu de prendre une simple requete select...

  10. #10
    Membre expérimenté
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    173
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 173
    Par défaut
    sinon des gridviews enfant

  11. #11
    Membre éclairé
    Inscrit en
    Janvier 2005
    Messages
    460
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Janvier 2005
    Messages : 460
    Par défaut
    Sql serveur. Oui Xnem ?

  12. #12
    Membre éclairé
    Inscrit en
    Janvier 2005
    Messages
    460
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Janvier 2005
    Messages : 460
    Par défaut
    La solution : le datatable.
    En effet tu peux constituer ton datatable avec des datarow ou tu insère chaque instance d'objet.
    Ensuite tu mets cette datatable en datasource de la gridview, puis tu bind la gridview. Hop! le tour est joué...si t'as des questions...
    Peux tu me donner un exemple stp ?

  13. #13
    Membre expérimenté
    Homme Profil pro
    Consultant SharePoint
    Inscrit en
    Mars 2006
    Messages
    270
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant SharePoint
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2006
    Messages : 270
    Par défaut
    ben ma BD sql server 2005.
    c'est sur ca pourrait marcher directement en sql, mais bon moi je préfère manipuler du C#....(héhé). et puis je dois en plus ajouter des champs dynamiquement en fonctions d'autres parametres...ca compliquerai trop le truc, je préfère décomposer mon pb en 5 ou 6 procédures stockées...(la BD risque d'etre répartie a terme...donc dispersée sur plusieurs serveurs)

  14. #14
    Membre expérimenté
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    173
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 173
    Par défaut
    Citation Envoyé par FamiDoo
    Sql serveur. Oui Xnem ?
    des gridview dans des gridview

  15. #15
    Membre éclairé
    Inscrit en
    Janvier 2005
    Messages
    460
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Janvier 2005
    Messages : 460
    Par défaut
    Ce n'est pas possible d'utiliser l'UNION du langage SQL dans ma requete ?

    Afin d'en imbriquer plusieurs.

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 27/06/2011, 11h36
  2. Réponses: 10
    Dernier message: 11/08/2009, 14h43
  3. Réponses: 3
    Dernier message: 27/07/2009, 14h35
  4. [JTable] Afficher plusieurs requetes
    Par stratocasters dans le forum Composants
    Réponses: 2
    Dernier message: 22/07/2008, 11h55
  5. [MySQL] Afficher le résultat d'une requete sur plusieurs pages.
    Par Mat67 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 05/06/2007, 16h01

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