Visual Studio 水晶报表Crystal Reports
2018年01月14日 10:43:31?junxingtx?閱讀數(shù):992更多
下載插件地址:https://wiki.scn.sap.com/wiki/display/BOBJ/Crystal+Reports%2C+Developer+for+Visual+Studio+Downloads
插件博客地址
https://blog.csdn.net/xzg58753795/article/details/81943416
環(huán)境:Visual Studio 2015, C#;
博客轉(zhuǎn)載地址:https://blog.csdn.net/zshuaihua/article/details/25786077
本文主要包含以下內(nèi)容:
一、ReportViewer使用小例子的完整步驟(新建-設(shè)計(jì)-編碼-調(diào)試-結(jié)果);
二、ReportViewer使用過程常見問題及關(guān)鍵注意點(diǎn)(僅為本人個(gè)人觀點(diǎn));
三、參考資料;
四、心得體會(huì);
===================================================================================================================================
?
一、ReportViewer使用小例子的演示。
1、新建項(xiàng)目。
新建一個(gè)Windows窗口程序項(xiàng)目,命名為“Demo";
2、加入ReportViewer控件。
(1)在默認(rèn)出現(xiàn)的Form1.cs[設(shè)計(jì)]視圖中手動(dòng)調(diào)節(jié)下Form1窗體的大小,左側(cè)工具箱-->報(bào)表-->雙擊其中的”ReportViewer";
(圖 1)
?
(2)切換至設(shè)計(jì)窗口,選擇ReportVierwer控件右上角黑色小三角,顯示“ReportViewer任務(wù)”,選擇”在父容器中停靠“;
(圖 2)
?
3、添加數(shù)據(jù)集。
(1)在”解決方案資源管理器“的本項(xiàng)目”Demo“上右鍵,-->添加-->新建項(xiàng)...。在”已安裝的模板“(左側(cè))選擇”數(shù)據(jù)“,在對應(yīng)的右側(cè)欄中選”數(shù)據(jù)集“,并為其命名為”testDataSet.xsd“。
(圖 3)
?
(2)在自動(dòng)顯示的testDataSet.xsd窗口空白處右鍵,-->添加-->數(shù)據(jù)表。
(圖 4)
?
(3)點(diǎn)擊表頭為其改名為”testDataTable",并在下一行的空白處右鍵,-->添加-->列。按快捷鍵“Ctrl + L”,共建四個(gè)列,并將列名自定義修改。(及時(shí)保存)
(圖 5)
?
4、添加報(bào)表。
(1)同添加數(shù)據(jù)集相似。在項(xiàng)目名稱上右鍵,-->添加-->新建項(xiàng)...。”已安裝模板“中選擇”Reporting“,相應(yīng)右側(cè)選擇”報(bào)表“,在下面名稱中改為”testReport.rdlc“。
(圖 6)
?
(2)在新視圖的主體部分(黑色方框內(nèi)部為主體部分,外部為報(bào)表部分)空白處右鍵,-->插入-->表。
(圖 7)
?
(3)會(huì)自動(dòng)彈出”數(shù)據(jù)集屬性“對話框,將”名稱“改為”DataSetName"(這個(gè)名稱很重要,后面代碼中要用到,故要記清),“數(shù)據(jù)源”選擇剛新建的“testDataSet",”可用數(shù)據(jù)集“會(huì)自動(dòng)選擇”testDataTable“,"確定”。
(圖 8)
?
(4)在testReport.rdlc[設(shè)計(jì)]視圖下,剛建的“表”只有三列,在任一單元格上右鍵,-->插入列-->靠右。在第一行的”表頭“輸入這三列的表頭,在第二行的”數(shù)據(jù)“行,鼠標(biāo)移動(dòng)每個(gè)單元格上,點(diǎn)擊單元格右上角的圖標(biāo),選擇相應(yīng)的列。
(圖 9)
?
5、綁定報(bào)表。
返回”Form1.cs[設(shè)計(jì)]"視圖,如圖 2類似,這次點(diǎn)擊“選擇報(bào)表”右側(cè)的下拉條,選擇我們新建的報(bào)表“demo.testReport.rdlc",全部保存。
(圖 10)
?
6、添加代碼。
查看”Form1.cs“的代碼,在Form1_Load()方法中添加代碼。代碼如下(以下只是Form1_Load()方法的代碼,不是全部,添加時(shí)需要在using下多加一行)。
[csharp]?view plain?copy
[csharp]?view plain?copy
7、運(yùn)行效果。
===================================================================================================================================
二、需要注意的幾個(gè)地方。
1、代碼中new ReportDataSource("DataSetName",dt)),這里的DataSetName是上面”一、4、(3)“里那個(gè)名字,而不是所建的數(shù)據(jù)集文件”testDataSet.xsd"的名字。我之前因?yàn)榘堰@里弄錯(cuò),花了好長時(shí)間才修正。
2、按上述步驟弄完后,也許還不好出來想要的結(jié)果。可能會(huì)彈出“本地報(bào)表處理期間出錯(cuò)”等錯(cuò)誤提示。
解決方法:將“testReport.rdlc"文件復(fù)制一份放到提示的指定Debug目錄下。
上述方法固然可以,但每次都要手動(dòng)將文件進(jìn)行復(fù)制,顯然不合適。這時(shí)其實(shí)只需要在”解決方案資源管理器“中點(diǎn)擊報(bào)表文件”testReport.rdlc",在下方的屬性一欄中,從“復(fù)制到輸出目錄”后面的下拉菜單中選擇“始終復(fù)制”。這樣,便不用手動(dòng)往Debug目錄復(fù)制文件了。(也有網(wǎng)友將屬性中的“生成操作”一項(xiàng)的“嵌入的資源”改為“內(nèi)容”。但對本例不適用,僅作說明)
===================================================================================================================================
三、參考資料。
1、本例最初的參考:參考資料1
2、對于如何自定義報(bào)表每頁顯示多少行的參考:參考資料2
3、關(guān)于報(bào)表中分組的參考:參考資料3
4、調(diào)試過程遇到問題解決思路的參考:參考資料4
===================================================================================================================================
?
總結(jié)
以上是生活随笔為你收集整理的Visual Studio 水晶报表Crystal Reports的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python鱼眼图像识别_图像变换之矫正
- 下一篇: 写了一个3D彩票软件!