2012-08-27 3 views
1

salut tous! Je développe une application asp.net et l'exigence est comme ci-dessous. L'utilisateur peut voir plusieurs rapports (j'ai utilisé des rapports de cristal). Chaque rapport a un bouton de rapport d'édition. Quand l'utilisateur clique sur le bouton éditer, alors le rapport sera ouvert dans excel feuille sur l'autre site Web. Alors l'utilisateur fait les changements appropriés comme le tri etc. et enregistre ce rapport et prend une copie mise à jour.rapport de cristal Asp.net (changement dynamique)

+0

Jusqu'à présent, vous avez seulement indiqué votre exigence. Vous n'avez pas expliqué [ce que vous avez essayé] (http://mattgemmell.com/2008/12/08/what-have-you-tried/) afin de mettre en œuvre cette exigence et quelles difficultés particulières vous avez rencontrées lorsque vous avez tenté faire cela. J'ai peur qu'il n'y ait pas assez d'information dans votre question pour qu'on puisse y répondre. –

+0

à l'heure actuelle, l'utilisateur peut voir les rapports de cristal, mais je ne sais pas comment convertir ce rapport de cristal à la feuille d'Excel côté serveur .. et comment l'utilisateur fera dynamiquement des changements dans la feuille Excel et l'enregistrer. –

Répondre

0
  • Faites glisser & droper CristalReportsViewer dans la page, un pour chaque rapport que vous voulez afficher
  • Faites glisser & droper CristalReportsSource dans la page, un pour chaque rapport que vous voulez afficher
  • lien chaque CristalReportsSource à un CristalReportsViewer
  • ensemble pour chaque CristalReportsSource la source par rapport myreport.rpt
  • a mis beaucoup de boutons qui exportent e Les rapports électroniques, en utilisant cet exemple de code

    protected void btnExport_Click(object sender, EventArgs e)  
    { 
    // Stop buffering the response 
    Response.Buffer = false; 
    // Clear the response content and headers 
    Response.ClearContent(); 
    Response.ClearHeaders(); 
    
    ExportFormatType format = ExportFormatType.Excel; 
    try 
    { 
        reportDocument.ExportToHttpResponse(format, Response, true, "report.xls"); 
    
    } 
    catch (System.Threading.ThreadAbortException) 
    { 
        //happens; no matter 
    } 
    catch (Exception ex) 
    { 
        Response.Write(ex.StackTrace); 
    } 
    } 
    

Vous pouvez afficher un seul rapport, et permettre aux utilisateurs de choisir le rapport souhaité unsing un menu déroulant avec cet exemple de code

reportDocument = new ReportDocument(); 
    string reportName = "myreport.rpt"; 
    reportDocument.Load(Server.MapPath(string.Format("~/{0}/{1}", "MyReportsFolder", reportName))); 
    CrystalReportViewer1.ReportSource = reportDocument; 
    reportDocument.ReadRecords();