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 Discussion :

owc10, génération de graph avec paramêtre


Sujet :

ASP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Juin 2006
    Messages
    122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur de jeux vidéo

    Informations forums :
    Inscription : Juin 2006
    Messages : 122
    Par défaut owc10, génération de graph avec paramêtre
    Bonjour

    Je travail sur un projet intranet visant à générer des graphiques à partir de tableaux.

    J'ai utilisé le code que [DreaMs] à donné sur ce topic mettant en oeuvre mschart via la dll owc10.

    Jusqu'ici, ca s'est très bien passé, les graphiques se génèrent bien et donnent un très bon résultat. Mon soucis, c'est le temps de traitement.

    En effet, j'utilise un algorythme volumineux en ASP pour générer mon tableaux, que j'affiche ensuite sur ma page, juste au dessus des graphiques.

    Pendant la génération du tableaux, je prend soin de mettre les données utilisées pour les graphique dans des tableaux (Array) ASP. Je compte utiliser ces array pour remplir les séries du graphique.

    Le problème, c'est que je n'arrive pas a passer ces séries en paramètre de mon graphique.

    J'ai essayé de mettre le code du graphique à la suite de mon algorythme, mais en utilisant le "Response.BinaryWrite", il me met un erreur d'en-tête http.

    Je ne peux pas non plus appeler le fichier .asp qui génère les graph via une url en donnant mes tableaux en paramêtre via la méthode GET (monGraph.asp?id=<%=monTableau%>)

    Ma solution à été de reproduir mon algorythme dans le fichier .asp des graphiques.
    Ca marche, mais lorsque mon tableaux (en html) possède 1 colonne, ca met 0.5 seconde a générer le tableaux + graphique, lorsqu'il y a 2 colonne, ca met 1 seconde, etc...
    Mon tableaux pourra avoir jusqu'a 60 colonnes simultané, soit un temps de traitement de 30 secondes...

    Ma question est donc: comment je pourrai passer mes array ASP en paramêtre au script de mon graphique pour n'avoir à dérouler l'algorythme qu'une seule fois?

    (j'ai déjà lut le tutoriel sur mschart sur developpez.com, mais ca ne répond pas à ma question qui est plus un problème de passage de paramêtre entre pages .asp/.html ou un problème de gestion des en-tête :p)

  2. #2
    Membre éclairé Avatar de pmboutteau
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    601
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Santé

    Informations forums :
    Inscription : Février 2005
    Messages : 601
    Par défaut
    Si les valeurs de tes tableaux sont dans des bases de données je te conseille de créer des tables pour stocker les données de graphiques et de lancer la création à partir de la BDD. Moi je fais comme çà mais tout dépend de ton logiciel bien sûr.

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Juin 2006
    Messages
    122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur de jeux vidéo

    Informations forums :
    Inscription : Juin 2006
    Messages : 122
    Par défaut
    J'utilise des bases de données Access, et ce que tu propose est la méthode que je fait déjà, mais les tableaux sont volumineux, la base complèxe et les requète importantes, donc c'est ce qui met le plus de temps et c'est ce que je voudrai éviter :p

  4. #4
    Membre éclairé Avatar de pmboutteau
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    601
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Santé

    Informations forums :
    Inscription : Février 2005
    Messages : 601
    Par défaut
    moi si tu veux je fais une page analyse.

    Elle me calcule tout et me prépare mes tables graphes. C'est une page pur ASP. De là je pars sur une HTML où je crée les graphes.

    J'ai un truc assez énorme à gérer aussi et çà se passe bien. LEs pages s'affichent relativement rapidement.

  5. #5
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    Citation Envoyé par Spidyy
    En effet, j'utilise un algorythme volumineux en ASP pour générer mon tableaux, que j'affiche ensuite sur ma page, juste au dessus des graphiques.
    A mon avis tout le pb est là. Sans parler du graphique, je crois que cela mettrait autant de temps si tu décidais de n'afficher que le contenu du recordset.
    => Cherche à optimiser encore plus ta requete SQL.
    => Si les données ne change pas trop créé un cache.
    => Créé des procédures et passe tes recordset de l'une à l'autre.
    Tu peux aussi utiliser un objet Pivot comme source de données c'est assez rapide. A tester aussi avec un recordset.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Set oPivot = Server.CreateObject("OWC10.PivotTable")
    Set NewChart = Server.CreateObject("OWC10.ChartSpace")
    	NewChart.DataSource = oPivot
    A+
    "Winter is coming" (ma nouvelle page d'accueil)

  6. #6
    Membre confirmé
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Juin 2006
    Messages
    122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur de jeux vidéo

    Informations forums :
    Inscription : Juin 2006
    Messages : 122
    Par défaut
    Hop bon j'ai pas trop essayé de simplifier, donc j'ai continué sur ma méthode de refaire l'algorythme à chaque graph créé! C'est bourrin mais ca marche!

    Nouveau problème, maintenant je veux que l'utilisateur puisse enregistrer la page (donc avec le tableaux + les graphes à la suite) dans un fichier Excel.

    Première solution on va me dire OWC.Spreadsheet!
    Soucis j'ai pu trop le temps de parcourir toute la doc sur les spreadsheet et refaire l'algorythme avec des écriture dans des Cells et tout.

    J'ai visé une solution plus rapide : Response.ContentType="application/vn.ms-excel"

    Pour le tableaux ca marche niquel!
    Par contre ca ne prend pas les graphiques.. j'ai des petites croix rouge à la place :p

    L'algorythme de mon programme ASP donne en gros:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <% Response.ContentType="application/vn.ms-excel"%>
    ' Génération du tableaux (interrogation de base et écriture des balises html)
    ...
    ' Génération des graphiques
    <img href="graph.asp?id=....">
    dans graph.asp :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     'Génération des graphiques avec l'objet OWC.Chartspace
    ...
     'à la fin de l'algorythme
    Response.ContentType = "image/GIF"
    Response.BinaryWrite cspace.GetPicture("GIF", 500, 300)%>
    la balise <img> pointe donc vers un script qui renvoi un fichier binaire de type gif, hors lorsque j'appel la page, ca me met bien le tableaux dans le fichier Excel mais ca ne met pas les graphiques.
    J'ai essayer en donnant à la balise <img> une image normal stockée sur le serveur (adresse relative) et ca marche...

    Voyez vous une solution pour contourner le problème? Dois-je avoir imperativement l'image sur le serveur pour la mettre dans le fichier excel? Est-il possible de jongler avec les Response pour arriver à ce résultat?

    Ou suis-je condamner à nager dans la piscine OWC? :p

Discussions similaires

  1. Génération automatique de graph avec Quality Center
    Par poupinette.coucou dans le forum Test
    Réponses: 0
    Dernier message: 23/06/2012, 14h33
  2. Génération de graphe avec Tikz
    Par darkman19320 dans le forum Tableaux - Graphiques - Images - Flottants
    Réponses: 2
    Dernier message: 23/01/2012, 13h11
  3. Génération de graphe avec paramétres
    Par ramoucha23 dans le forum Jasper
    Réponses: 1
    Dernier message: 13/07/2011, 18h52
  4. [GD] Erreur de génération d%u2019image du graphe avec GD
    Par geforce dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 09/05/2011, 10h35
  5. [Graphique] Bibliothèque pour génération de "jolis" graphes avec php
    Par mounia.n dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 22/04/2008, 22h32

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