原創(chuàng)|使用教程|編輯:鄭恭琳|2019-10-31 15:39:34.753|閱讀 269 次
概述:本示例說明了如何在Flash Designer中使用自定義保存報(bào)表對(duì)話框。默認(rèn)情況下,該報(bào)表在AJAX模式下另存為POST請(qǐng)求,但是可以更改此行為。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
立即點(diǎn)擊下載Stimulsoft Reports.Net最新版
本示例說明了如何在Flash Designer中使用自定義保存報(bào)表對(duì)話框。默認(rèn)情況下,該報(bào)表在AJAX模式下另存為POST請(qǐng)求,但是可以更改此行為。
首先,您需要將StiMvcDesignerFx組件添加到視圖頁面。您還需要將StiMvcDesignerFxOptions類型的對(duì)象傳遞給構(gòu)造函數(shù)。所需的最少選項(xiàng)是兩個(gè)操作——GetReport和DesignerEvent,它們位于操作“Actions”選項(xiàng)組中。最好定義PreviewReport操作,這對(duì)于預(yù)覽報(bào)表是必需的。
要添加保存報(bào)表的功能,您需要定義SaveReport操作。您還應(yīng)該設(shè)置SaveReportMode選項(xiàng)來更改保存報(bào)表算法的行為。
@using Stimulsoft.Report.Web; @using Stimulsoft.Report.Mvc; ... @Html.Stimulsoft().StiMvcDesignerFx(new StiMvcDesignerFxOptions() { Actions = { GetReport = "GetReport", PreviewReport = "PreviewReport", SaveReport = "SaveReport", DesignerEvent = "DesignerEvent" }, Behavior = { SaveReportMode = StiSaveMode.Visible } })
接下來,您需要使用自定義保存對(duì)話框添加視圖。例如,創(chuàng)建一個(gè)簡單的表單,其中包含將包含報(bào)表文件名稱的文本框和一個(gè)保存按鈕。將此視圖另存為SaveDialog。
<h2>Custom Save Dialog</h2> @using (Html.BeginForm("SaveReportFromDialog", "DesignerFx", FormMethod.Post)) { <fieldset> Report file name:<br /> <input name="filename" type="text" value="MyReport.mrt" width="100" /><br /><br /> <input type="submit" value="Save" /> </fieldset> }
現(xiàn)在,我們需要在控制器中添加所有動(dòng)作。例如,將一個(gè)控制器用于Flash Designer和自定義保存對(duì)話框視圖。
GetReport操作將加載報(bào)表模板,并使用GetReportResult()靜態(tài)方法將答案返回給Flash Designer的客戶端部分。在此方法的參數(shù)中,應(yīng)傳遞報(bào)表對(duì)象。
public ActionResult GetReport() { StiReport report = new StiReport(); report.Load(Server.MapPath("~/Content/Reports/TwoSimpleLists.mrt")); return StiMvcDesignerFx.GetReportResult(report); }
當(dāng)您在Flash設(shè)計(jì)器中打開預(yù)覽報(bào)表選項(xiàng)卡時(shí),將調(diào)用PreviewReport操作。在此操作中,您可以獲取報(bào)表對(duì)象并執(zhí)行任何操作,例如連接到數(shù)據(jù)。要為客戶準(zhǔn)備答案,您應(yīng)該使用PreviewReportResult()靜態(tài)方法。在此方法的參數(shù)中,應(yīng)傳遞報(bào)表對(duì)象。
public ActionResult PreviewReport() { DataSet data = new DataSet("Demo"); data.ReadXml(Server.MapPath("~/Content/Data/Demo.xml")); StiReport report = StiMvcDesignerFx.GetReportObject(); report.RegData(data); return StiMvcDesignerFx.PreviewReportResult(report); }
當(dāng)您單擊Flash Designer中的保存按鈕時(shí),將調(diào)用SaveReport操作。在此操作中,獲取報(bào)表對(duì)象并將其存儲(chǔ)在服務(wù)器會(huì)話表中,因?yàn)閷?duì)象ID使用“SaveReportTemplate”字符串常量值。完成這些操作后,我們將重定向到另一個(gè)視圖,即我們的自定義保存對(duì)話框。
public ActionResult SaveReport() { StiReport report = StiMvcDesignerFx.GetReportObject(); // Store the report object in the session Session["SaveReportTemplate"] = report; return View("SaveDialog"); }
DesignerEvent操作將處理一些Flash Designer事件(使用數(shù)據(jù)字典、獲取報(bào)表模板代碼和組件圖像等),并使用DesignerEventResult()靜態(tài)方法將答案返回給客戶端。
public ActionResult DesignerEvent() { return StiMvcDesignerFx.DesignerEventResult(); }
當(dāng)您單擊自定義保存對(duì)話框表單中的保存按鈕時(shí),將調(diào)用SaveReportFromDialog操作。在此操作中,按ID從服務(wù)器會(huì)話中獲取報(bào)表對(duì)象,該ID在flahs設(shè)計(jì)器操作中使用。現(xiàn)在,您可以將報(bào)表保存為例如帶有名稱的文件,該文件在custon save對(duì)話框表單中輸入。完成這些操作后,我們將重定向到索引視圖,即Flash設(shè)計(jì)器。
public ActionResult SaveReportFromDialog(string filename) { StiReport report = Session["SaveReportTemplate"] as StiReport; // Save report // report.Save(filepath + filename); return View("Index"); }
在下面的屏幕截圖中,您可以看到示例代碼的結(jié)果。
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn