1、環(huán)境部署
- VS2019開(kāi)發(fā)環(huán)境配置
在vs環(huán)境中,菜單擴(kuò)展=>管理擴(kuò)展
聯(lián)機(jī)中搜索 RDLC,出現(xiàn)MicroSoft RDLC Report Designer,如下
安裝完畢后,點(diǎn)擊右鍵項(xiàng)目(Asp.Net Web應(yīng)用程序)=>添加=>新建項(xiàng),會(huì)出現(xiàn) 報(bào)表、報(bào)表精靈(報(bào)表向?qū)В?,如下?/p>
?
新建報(bào)表后,就直接可以進(jìn)行RDLC報(bào)表開(kāi)發(fā)。
Web.Config里面配置:
2.部署環(huán)境
安裝 ReportViewer.exe,或者拷貝3個(gè)DLL,IIS基本就可以運(yùn)行RDLC了。
2.RDLC設(shè)計(jì)
- RDLC本身是XML文件,可以通過(guò)C#代碼自動(dòng)生成報(bào)表;
- RDLC首先需要指定數(shù)據(jù)源,網(wǎng)絡(luò)上基本是DataSet=>DataTable,實(shí)際應(yīng)用開(kāi)發(fā)中,只要是實(shí)現(xiàn)ICollection接口的對(duì)象都可以,這樣,在整個(gè)軟件開(kāi)發(fā)過(guò)程中,不需要新建DataSet對(duì)象。
- RDLC設(shè)計(jì),實(shí)際是絕對(duì)布局,默認(rèn)是A4紙張,可以設(shè)置默認(rèn)橫向和縱向。
- RDLC有頁(yè)頭和頁(yè)尾,頁(yè)尾可以調(diào)用全局變量設(shè)置總共多少頁(yè),當(dāng)前第幾頁(yè)。
- RDLC也支持套打(比如:紙張有固定格式)
-
RDLC數(shù)據(jù)源和數(shù)據(jù)集? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ? ?? ?菜單:選中RDLC某一個(gè)可編輯控件,點(diǎn)擊菜單 視圖=>報(bào)表資料? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ? ??????????????????????????????????????????????????????????????????????????????????????????
-
? ?RDLC設(shè)計(jì)時(shí),需要調(diào)出標(biāo)尺,根據(jù)具體頁(yè)面紙張大小設(shè)定,如果紙張內(nèi)容過(guò)多,通常需要設(shè)置:
?菜單:擴(kuò)展=>報(bào)表=>報(bào)表屬性?????? - 報(bào)表參數(shù):直接在右邊添加,名稱和C#代碼名稱需要保持一致???????????
-
報(bào)表參數(shù),可以根據(jù)參數(shù),在RDLC中進(jìn)行相應(yīng)的邏輯控制,比如:行可見(jiàn)性,列可見(jiàn)性,顯示相應(yīng)的內(nèi)容轉(zhuǎn)換。選中控件表的某一列,右鍵 行可見(jiàn)性:
?以上圖意思:如果參數(shù)Parameters!Color5.Value傳入進(jìn)來(lái)的值包含字符“Color”,那么該列屬性Hidden=True,否則等于False
-
常用語(yǔ)法? ?IIF等于C#里面的If,可以對(duì)RDLC顯示進(jìn)行多種優(yōu)化;比如:當(dāng)某個(gè)數(shù)據(jù)為0,那么可以顯示空字符,如:=IIF(CInt(Fields!ColorQty5.Value)=0,"",Fields!ColorQty5.Value)
- 常規(guī)控件:文本框? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??綁定參數(shù):選擇文本框,點(diǎn)擊右鍵=>表達(dá)式? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? ? ? ? ??綁定某個(gè)字段: - 常規(guī)控件:表? ? ?選擇表的詳細(xì)信息行,右鍵=>Tablix屬性,綁定數(shù)據(jù)集
也可以在此處設(shè)置 排序字段
表的分組:
選中表,菜單 擴(kuò)展=>報(bào)表=>檢視=>群組,下方顯示如下:
?每一個(gè)行組,可以點(diǎn)擊右鍵,進(jìn)行多次分組統(tǒng)計(jì),分組方式可以多個(gè)字段,類似于Sql: group by,也可指定 排序方式。? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
?文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-428815.html
分組的時(shí)候,盡可能 添加組頭,添加組尾,利于后期設(shè)置相關(guān)統(tǒng)計(jì)信息,組頭組尾行可以設(shè)置行可見(jiàn)性為隱藏。
?3.Asp.NET(C#)示例代碼
利用ReportViewer展示報(bào)表,另外控件自帶導(dǎo)出功能(可以導(dǎo)出Excel,pdf,Word)。
3.1如何展示RDLC文件:
WebForm1.aspx:
關(guān)鍵屬性:AsyncRendering="false"(異步加載)
WebForm1.aspx.cs文件關(guān)鍵代碼:
RDLC有兩個(gè)數(shù)據(jù)集:ds_kp,ds_TopMain和RDLC設(shè)計(jì)文件對(duì)應(yīng)。
3.2如何設(shè)置報(bào)表參數(shù):
報(bào)表參數(shù)必須放在 ?ReportViewer1.LocalReport.Refresh();之前。
3.3如何加載子報(bào)表:
?文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-428815.html
主報(bào)表:Report2.rdlc,子報(bào)表SubRpt1.rdlc,
Report2.rdlc設(shè)計(jì)頁(yè)面如下:
SubRpt1需要設(shè)置如下:
1?ReportName屬性
2?如何設(shè)置SubRpt1調(diào)用哪個(gè)RDLC文件
3傳入到SubRpt1的參數(shù)(3個(gè))
?
?4.疑難問(wèn)題注意事項(xiàng)
?如果報(bào)表需要傳入?yún)?shù),那么報(bào)表設(shè)計(jì)完成后,需要按照如下方式修改:
?
?
?
?
?
?
?
?
?
到了這里,關(guān)于RDLC報(bào)表使用教程(VS2019+Asp.Net(C#)+iframework)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!