none
problème état de sortie avec crystal report RRS feed

  • Question

  • Bonjour tout le monde,

    mon problème est comme suit:

    dans mon application web pour les états de sorties j'ai utilisé crystal report donc j'ai fait un rapport sous crystal report marche très bien mais quand j'ai ajouté un deuxième, quand j’exécute ce dernier il faut que je fais F5 (rafraichir) sinon il affiche le premier rapport,

    la question comment affiche le rapport adéquate sans faire f5 ?


    • Modifié ghiles mercredi 30 janvier 2013 14:32
    • Type modifié Aurel Bera mardi 5 février 2013 05:39 Discussion
    • Type modifié ghiles dimanche 10 février 2013 13:04
    mercredi 30 janvier 2013 14:24

Réponses

  • En utilisant Window.Open sur le bouton d'impression, vous n'avez aucune garantie que ce qui est dans le CodeBehind onclick pour ce bouton est exécuté avant le PageLoad de la deuxième page.

    De cote client c’est exécutée un Windows.Open et après ça un  Submit.

    Le Submit exécute de cote serveur  ButtonImprimer_Click, et Windows.Open exécute de cote serveur le Page_Load de deuxième page.  Mais on ne peut pas avoir aucune information sur l’ordre que les deux sont exécutées.

    Donc la solution c’est d’avoir

    <asp:Button  ID="ButtonImprimer" runat="server" ForeColor="#0066FF"

                    OnClientClick="window.open('../EtatSortie/report.aspx?rptId=1'); "

    ………………………

    Pour le premier rapport, et

    <asp:Button  ID="ButtonImprimer" runat="server" ForeColor="#0066FF"

                    OnClientClick="window.open('../EtatSortie/report.aspx?rptId=2'); "

    Pour le deuxième rapport.

    Dans Page_Load de report.aspx vous devez avoir avez :

    ReportDocument rptdoc1 = new ReportDocument();

                demandeTableAdapter adapter = new demandeTableAdapter();

                DataTable dt = adapter.GetData(1);

    if(Request.QueryString ["rptId"] =="1")  

              rptdoc1.Load(Server.MapPath("~/EtatSortie/CrystalReport1.rpt"));

    else

             rptdoc1.Load(Server.MapPath("~/EtatSortie/etatAffectation.rpt"));

             rptdoc1.SetDataSource(dt);

      

     

                CrystalReportViewer1.ReportSource =  rptdoc1;

                CrystalReportViewer1.DataBind();

    En effet c’est une adaptation de la solution proposée en 4 février.  

    Cordialement,


    Aurel BERA, Microsoft
    Microsoft propose ce service gratuitement, dans le but d'aider les utilisateurs et d'élargir les connaissances générales liées aux produits et technologies Microsoft. Ce contenu est fourni "tel quel" et il n'implique aucune responsabilité de la part de Microsoft.


    • Modifié Aurel Bera mardi 12 février 2013 13:17
    • Marqué comme réponse ghiles mercredi 13 février 2013 09:35
    mardi 12 février 2013 13:12

Toutes les réponses