原創(chuàng)|使用教程|編輯:我只采一朵|2017-12-19 10:54:04.000|閱讀 972 次
概述:交互式報(bào)表允許用戶通過超鏈接與報(bào)表進(jìn)行交互。使用超鏈接,你可以運(yùn)行其他報(bào)表,導(dǎo)航到其他報(bào)表頁(yè)面或?qū)Ш降綍灐?/p>
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
在之前的文章中,我們考慮了如何創(chuàng)建一個(gè)包含詳細(xì)報(bào)表的交互式報(bào)表。本質(zhì)上,我們其實(shí)是創(chuàng)建了兩個(gè)報(bào)表,其中一個(gè)指向另一個(gè)。
但是,這一切還可以變得更簡(jiǎn)單,你可以不必為詳細(xì)信息創(chuàng)建單獨(dú)的報(bào)表。你可以在主報(bào)表的一個(gè)單獨(dú)頁(yè)面上做詳細(xì)的報(bào)表。我們來看看如何做到這一點(diǎn)。
創(chuàng)建一個(gè)報(bào)表。至于數(shù)據(jù)源,我使用的是FastReport.Net的xml數(shù)據(jù)庫(kù),類別和產(chǎn)品。
創(chuàng)建表格之間的關(guān)聯(lián):
在數(shù)據(jù)窗口中,你可以看到一個(gè)新的關(guān)聯(lián):
現(xiàn)在將這些字段放在數(shù)據(jù)帶上:
如你所見,我們放置了兩個(gè)字段:CategoryName和Picture。在數(shù)據(jù)帶區(qū)中將Columns-> Count屬性設(shè)置為2。
添加一個(gè)新的報(bào)表頁(yè)面。其中,我們將在其中創(chuàng)建一個(gè)詳細(xì)信息報(bào)表 - 產(chǎn)品清單。報(bào)表模板非常簡(jiǎn)單:
現(xiàn)在你需要處理產(chǎn)品清單的過濾。我們將按類別名稱進(jìn)行過濾,把類別名稱從第一頁(yè)轉(zhuǎn)移到第二頁(yè)。為此,請(qǐng)?jiān)诘诙?yè)中創(chuàng)建一個(gè)報(bào)表參數(shù):
現(xiàn)在,雙擊打開數(shù)據(jù)帶區(qū)編輯器。打開過濾選項(xiàng)卡:
在過濾器表達(dá)式中,我們使用了關(guān)聯(lián)的類別表中的CategoryName字段。
轉(zhuǎn)到報(bào)表的第一頁(yè)。我們點(diǎn)擊數(shù)據(jù)帶區(qū)的Categories.CategoryName字段。在屬性查看器中,我們找到超鏈接。然后打開超鏈接編輯器:
選擇“詳細(xì)報(bào)表頁(yè)面”標(biāo)簽。這里我們選擇:報(bào)表第二頁(yè),參數(shù)“類別”。對(duì)于參數(shù)的值,請(qǐng)?jiān)O(shè)置表達(dá)式:[Categories.CategoryName]
在窗體底部啟用“修改對(duì)象的外觀,使其看起來像一個(gè)可點(diǎn)擊的鏈接”選項(xiàng)。
報(bào)表已經(jīng)就緒。我們保存它,然后進(jìn)入第二階段。
在第二階段,我確定創(chuàng)建一個(gè)Web應(yīng)用程序演示。現(xiàn)在創(chuàng)建一個(gè)MVC項(xiàng)目,添加鏈接到庫(kù)FastReport.dll和FastReport.Web.dll。
報(bào)表將被放置在網(wǎng)站主頁(yè)上。因此,的邏輯放置在控制器HomeController中。
添加庫(kù):
using FastReport.Web; using System.Web.UI.WebControls;
和以下代碼:
public ActionResult Index() { WebReport webReport = new WebReport(); //create the inctance of WebReport object. string report_path = "J:\\Program Files (x86)\\FastReports\\FastReport.Net\\Demos\\Reports\\"; //Reports location System.Data.DataSet dataSet = new System.Data.DataSet(); //Create DataSet dataSet.ReadXml(report_path + "nwind.xml"); //Load xml db into dataset webReport.Report.RegisterData(dataSet, "NorthWind"); //register the dataset in report webReport.Report.Load(report_path + "Simple Interactive.frx"); //load a report into WebReport ViewBag.WebReport = webReport; //pass the report to View return View(); }
現(xiàn)在我們需要在Index.cshtml視圖(文件夾Views - > Home)中顯示我們的報(bào)表。
網(wǎng)頁(yè)的代碼如下所示:
@{ ViewBag.Title = "Home Page"; } @ViewBag.WebReport.GetHtml()
在最后一行中,控制器將報(bào)表傳遞給視圖進(jìn)行顯示。
在文件_Layout.cshtml中,你需要連接腳本:
<head> @WebReportGlobals.Scripts() @WebReportGlobals.Styles() </head>
在位于Views文件夾中的web.config文件中添加命名空間。
<namespaces> <add namespace="FastReport" /> <add namespace="FastReport.Web" /> </namespaces>
將處理句柄添加到位于項(xiàng)目根目錄下的Web.config文件中:
<system.webServer> <handlers> <add name="FastReportHandler" path="FastReport.Export.axd" verb="*" type="FastReport.Web.Handlers.WebExport"/> </handlers> </system.webServer>
加載程序并查看報(bào)表:
試試點(diǎn)擊類別“Confections”。
就這樣我們創(chuàng)建了一個(gè)交互式報(bào)表,并且不必為了詳細(xì)信息而創(chuàng)建一個(gè)單獨(dú)的文件。
產(chǎn)品介紹 | 下載試用 | 優(yōu)惠活動(dòng) | | 聯(lián)系Elyn
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn