【Stimulsoft Reports.Net教程】使用Designer
阿新 • • 發佈:2018-12-18
要執行Web設計器,只需在ASPX頁面上的Stimulsoft.Report.WebDesign庫中新增StiWebDesigner控制元件即可。
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="Using_the_Designer.Report" %> <%@ Register Assembly="Stimulsoft.Report.WebDesign" Namespace="Stimulsoft.Report.Web" TagPrefix="cc1" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title>Using the Designer</title> </head> <body> <form id="form1" runat="server"> <div> <cc1:StiWebDesigner ID="StiWebDesigner1" runat="server" OnCreateReport="StiWebDesigner1_CreateReport" OnPreviewReport="StiWebDesigner1_PreviewReport" OnSaveReport="StiWebDesigner1_SaveReport" /> </div> </form> </body> </html>
要載入報表模板,您可以使用Page_Load事件。例如,您可以在此處建立StiReport物件並從檔案載入報表模板。完成這些操作後,您只需將報表物件分配給設計器元件即可。
該StiWebDesigner1_CreateReport則事件觸發的報表設計器建立一個從主選單中的新的報表。在這種情況下,對於exapple,您可以註冊報表資料,或載入預設報表模板。 在StiWebDesigner1_PreviewReport事件中,您可以註冊預覽的報表資料。 該StiWebDesigner1_SaveReport事件觸發,然後設定desinger中的Save按鈕。報表物件將在事件args中傳輸。例如,您可以將報表儲存到檔案。 下面的程式碼顯示了這些事件的工作示例。
protected void Page_Load(object sender, EventArgs e) { StiReport report = new StiReport(); report.Load(Server.MapPath(@"Reports\Invoice.mrt")); StiWebDesigner1.Report = report; } protected void StiWebDesigner1_CreateReport(object sender, StiReportDataEventArgs e) { DataSet data = new DataSet(); data.ReadXmlSchema(Server.MapPath(@"Data\Demo.xsd")); data.ReadXml(Server.MapPath(@"Data\Demo.xml")); e.Report.RegData(data); e.Report.Dictionary.Synchronize(); } protected void StiWebDesigner1_PreviewReport(object sender, StiReportDataEventArgs e) { DataSet data = new DataSet(); data.ReadXmlSchema(Server.MapPath(@"Data\Demo.xsd")); data.ReadXml(Server.MapPath(@"Data\Demo.xml")); e.Report.RegData(data); } protected void StiWebDesigner1_SaveReport(object sender, StiSaveReportEventArgs e) { StiReport report = e.Report; report.Save(Server.MapPath(@"Reports\" + report.ReportName + ".mrt")); }
示例程式碼的結果如下圖所示: