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 :

Grouper les données et afficher sur plusieures colonnes


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Pingva
    Profil pro
    Inscrit en
    Août 2004
    Messages
    190
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 190
    Par défaut Grouper les données et afficher sur plusieures colonnes
    Bonjour, je n'arrive pas à résoudre un affichage un peu compliqué pour moi

    J'aimerais afficher les données comme ceci : les grouper par une colonne et afficher le reste en quelques colonnes.

    Avant j'avais un système qui fonctionnait bien -->

    j'avais une DataList que je remplissais avec première requête ( qui me sortait mes AAA et BBB) et dans cette DataList j'avais une seconde DataList. Pour chaque item récupéré je faisais la deuxième requête qui me sortait les documents pour chaque item trouvé par la première requête ) Pour la seconde DataList je la faisais en 3 colonnes.

    Mais la base de donnée s'est agrandie énormément, je dois faire quelque chose pour optimiser
    J'ai eu une idée de faire la requête qu'une fois (la requête est bien compliquée et implique des tables avec beaucoup de lignes et avant elle s'exécutait plusieurs fois, une fois pour chercher les AAA et BBB, et ensuite autant de fois qu'elle trouvait des items)

    Mais je ne trouve pas un système pour afficher les résultats

    Si qqn a une idée ?



    Nom : Capture.JPG
Affichages : 116
Taille : 36,5 Ko

  2. #2
    Membre confirmé Avatar de Pingva
    Profil pro
    Inscrit en
    Août 2004
    Messages
    190
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 190
    Par défaut
    Je voudrais aussi ajouter, que j'ai réussi je faire un simple affichage, quand il y a une seule colonne.
    j'ai un Repeater dans lequel j'affiche le résultat complet de ma requête et si le même libelle (AAA, BBB) se rencontre plusieurs fois je ne le s'affiche tout simplement pas.
    C'est plusieurs colonnes qui me posent problème...

    Nom : Capture.JPG
Affichages : 98
Taille : 19,5 Ko

  3. #3
    Membre émérite
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    777
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 777
    Par défaut
    J'ai du mal à comprendre ce que tu veux réellement faire mais si c'est pour de l'optimisation tu devrais :

    - Ne prendre que les X premiers records (100 par exemple) dans ton query
    - Passer les eventuels filtre à ton query et ne pas le faire après récupération des données
    - Idem que le 2eme point pour les tris
    - Ne pas oublier d'indexer tes champs...

    Si tu fais déjà tout ca ton query devrait être nettement plus rapide...

  4. #4
    Membre confirmé Avatar de Pingva
    Profil pro
    Inscrit en
    Août 2004
    Messages
    190
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 190
    Par défaut
    Merci pour la réponse

    En général j'ai moins de 100 résultats dans les lignes récupérées. Mais pour les trouver, on doit passer par des grosses tables de quelques millions de lignes
    Pour indexation - c'est prévu, on vas le faire mais ce n'est pas suffisant...

    En fait, je voudrais afficher les résultats da ma query, de la manière suivante :

    Nom : capture.jpg
Affichages : 123
Taille : 36,5 Ko

  5. #5
    Membre émérite
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    777
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 777
    Par défaut
    Citation Envoyé par Pingva Voir le message
    Merci pour la réponse

    En général j'ai moins de 100 résultats dans les lignes récupérées. Mais pour les trouver, on doit passer par des grosses tables de quelques millions de lignes
    Pour indexation - c'est prévu, on vas le faire mais ce n'est pas suffisant...

    En fait, je voudrais afficher les résultats da ma query, de la manière suivante :

    Nom : capture.jpg
Affichages : 123
Taille : 36,5 Ko
    Tu devrais plutôt faire un drildown. Tu affiches AAA et BBB avec une petit "+" à coté et lorsque tu cliques une datalist en mode "Flow" s'affiche sous l'element sélectionné. (Et c'est au moment du clique que tu fais le query sur les documents en passant en filtre l’élément selectionné.
    Et lorsque tu cliques sur une autre élement la datalist ouverte se cache...

  6. #6
    Membre confirmé Avatar de Pingva
    Profil pro
    Inscrit en
    Août 2004
    Messages
    190
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 190
    Par défaut
    Merci pour l'idée, je vais essayer !

  7. #7
    Membre Expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Par défaut
    Salut,

    si tu dois absolument générer des sous-requêtes bien lourdes pour atteindre les données "documents" alors l'accès asynchrone parait effectivement une bonne solution. Sinon, si tu cherches à tout faire dans une seule requête tu peux faire un ORDER BY sur le champs discriminant (AAA ou BBB dans ton exemple) et faire un simple parcours des données : quand la valeur de ce champ change alors tu génères un nouvel ensemble de contrôles. C'est une technique qu'on utilise très souvent pour faire des regroupements.

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

Discussions similaires

  1. Exporter des données en ASCII sur plusieurs colonnes
    Par gagnant16 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 16/05/2014, 10h58
  2. Réponses: 2
    Dernier message: 16/01/2010, 11h52
  3. [8.4] liste affichée sur plusieurs colonnes
    Par arsonique dans le forum Cognos
    Réponses: 1
    Dernier message: 26/05/2009, 15h01
  4. [CR XI] section detail - afficher les données sur plusieurs colonnes
    Par Flamby38 dans le forum SAP Crystal Reports
    Réponses: 3
    Dernier message: 26/09/2007, 14h44
  5. [MySQL] afficher sur plusieurs colonnes
    Par digger dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 03/08/2006, 11h08

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