日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

VS2005中ReportViewer 本地模式下报表呈现 入门示例

發(fā)布時間:2023/11/30 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 VS2005中ReportViewer 本地模式下报表呈现 入门示例 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

本示例操作 主要實現(xiàn)
a. ReportViewer關聯(lián)Report1.rdlc的簡單呈現(xiàn)
b. 對帶有報表參數(shù)的Report1.rdlc的呈現(xiàn)
c. 利用程式生成的DataSet 填充報表
d. 調用存儲過程 生成DataSet 填充報表
==========
簡單的呈現(xiàn)
==========
1. 打開VS2005,文件->新建->網(wǎng)站 選擇語言種類(C#)
2. 在該解決方案下 設計其已經(jīng)生成的Default.aspx
3. 將工具箱-數(shù)據(jù)下的ReportViewer 拉入Default.aspx的設計界面
4. 在用鼠標選中ReportViewer1時 可以看到其右上角的 小三角 圖標
5. 用鼠標點擊該小三角 將展開 ReportViewer任務 快捷菜單
6. 由于本項目 目前還沒有做好的報表 所以 選擇 設計新報表
7. 點擊 設計新報表 后 將呈現(xiàn)報表Report1.rdlc的設計界面
8. 由于本項目 目前還沒有做好的網(wǎng)站數(shù)據(jù)源
?? 所以 此時要添加新數(shù)據(jù)源
? (如果沒有呈現(xiàn)“網(wǎng)站數(shù)據(jù)源”界面,可以點擊報表設計界面,
?? 此時上方菜單中多出現(xiàn)“數(shù)據(jù)”,“報表”等選項
?? 可以在“數(shù)據(jù)”菜單下,選擇“顯示數(shù)據(jù)源”)
9. 點擊“添加新數(shù)據(jù)源” 會出現(xiàn)“TableAdapter 配置向導”
10. 選擇數(shù)據(jù)連接(如連接到本機的Northwind數(shù)據(jù)庫),下一步
11. 選擇是否要將連接字符串保存到應用程序配置文件中,下一步
12. 選擇命令類型,此時 可以 點擊 取消 按鈕,退出向導
13. 全部保存
14. 選擇 視圖 菜單 下 “服務器資源管理器”,
??? 可以看到剛才所建立的數(shù)據(jù)連接,
??? 可以看到Northwind數(shù)據(jù)庫下的表,視圖,存儲過程,函數(shù)
15. 在解決方案的樹下 找到并打開App_Code文件夾下的DataSet1.xsd數(shù)據(jù)集
16. 可以看到 打開的數(shù)據(jù)集設計器 是空的,此時可以將“服務器資源管理器”
??? 下的Northwind的表或存儲過程等 拉入 數(shù)據(jù)集設計器
??? (如此時 拉入了Orders表 和 Sales by Year這個存儲過程)
17. 全部保存
18. 雙擊Report1.rdlc,打開報表設計界面
??? 將此時的報表設計工具箱中的 報表項 的? 表 拉入 報表設計界面
19. 選擇 “數(shù)據(jù)”菜單下的“顯示數(shù)據(jù)源”,
??? 可以在網(wǎng)站數(shù)據(jù)源下 看到 DataSet1 下的 兩個 表 Orders 和 Sales by Year
20. 此時選擇Orders下的任意字段 (如OrderID 和 CustomerID)
??? 拉到Report1.rdlc設計界面的表的“詳細資料”處 用于報表顯示
21. 全部保存
22. 回到Default.aspx的設計界面,為ReportViewer1 綁定報表
??? 選擇ReportViewer1顯示剛才設計好的Report1.rdlc
23. 全部保存,按F5或Ctrl+F5 運行,以查看初步效果

======================================
接下來要為Report1.rdlc添加一個報表參數(shù)
======================================

24. 回到報表Report1.rdlc的設計界面
??? 點擊 報表 菜單 下的“報表參數(shù)”
25. 在報表參數(shù)在設置框中 添加一個報表參數(shù) 進行相關設置 并 確定以保存
?? (如其參數(shù)名稱為rptParaA,類型為String)
26. 拉入一個文本框的報表項到Report1.rdlc的設計界面 以做為該報表的標題顯示
27. 選中并右鍵單擊該文本框,在彈出的菜單中選擇“表達式”,
??? 進入“編輯表達式”的對話框
28. 在“編輯表達式”的對話框中,選擇 參數(shù),
??? 并雙擊剛才設置的rptParaA,使文本框的值=Parameters!rptParaA.Value
29. 保存對Report1.rdlc的修改
30. 因為新的Report1.rdlc報表的文本框需要有報表參數(shù)值的傳入
??? 所以要在ReportViewer1 對Report1.rdlc的呈現(xiàn)時
??? 對Default.aspx.cs的編輯
31. 在Default.aspx.cs加入引用
??? using Microsoft.Reporting.WebForms;???
??? 在Page_Load中加入如下代碼

????????ReportParameter?rptParaA?=?new?ReportParameter("rptParaA",?"測試報表參數(shù)");
????????ReportViewer1.LocalReport.SetParameters(
new?ReportParameter[]?{?rptParaA?});


32.保存并運行 以查看效果

=========================================
接下來,需要對所要呈現(xiàn)的報表資料 進行定制
也就是通過設計DataSet
用符合需要的數(shù)據(jù)對報表進行資料綁定和呈現(xiàn)
=========================================

33.設置ReportViewer1的Visible為false
34.在Default.aspx的設計界面 加入一個按鈕Button1
?? 將通過此按鈕的Click事件 實現(xiàn)對數(shù)據(jù)庫的訪問 以及DataSet的數(shù)據(jù)填充
?? 和對ReportViewer1的資料綁定
35. Default.aspx.cs加入引用
??? using System.Data.SqlClient;
??? using Microsoft.Reporting.WebForms;

??? Button1_Click中的代碼示例如下?

????????SqlConnection?myConn?=?new?SqlConnection("Data?Source=192.168.0.36;Initial?Catalog=Northwind;User?ID=sa;Password=sa");
????????SqlDataAdapter?myda?
=?new?SqlDataAdapter("select?top?5?*?from?orders",?myConn);
????????DataSet?myds?
=?new?DataSet();
????????myConn.Open();
????????myda.Fill(myds);
????????myConn.Close();

????????ReportViewer1.Visible?
=?true;

????????ReportParameter?rptParaA?
=?new?ReportParameter("rptParaA",?"測試報表參數(shù)");
????????ReportViewer1.LocalReport.SetParameters(
new?ReportParameter[]?{?rptParaA?});
??
????????ReportDataSource?rds?
=?new?ReportDataSource("DataSet1_Orders",?myds.Tables[0]);
????????ReportViewer1.LocalReport.DataSources.Clear();
????????ReportViewer1.LocalReport.DataSources.Add(rds);
????????ReportViewer1.LocalReport.Refresh();

?
?? 注意ReportDataSource rds = new ReportDataSource("DataSet1_Orders", myds.Tables[0]);
?????? 的"DataSet1_Orders"是與前臺html程序的

????????<rsweb:ReportViewer?ID="ReportViewer1"?runat="server"?Font-Names="Verdana"?Font-Size="8pt"?Height="400px"?Visible="False"?Width="400px">
????????????
<LocalReport?ReportPath="Report1.rdlc">
????????????????
<DataSources>
????????????????????
<rsweb:ReportDataSource?DataSourceId="ObjectDataSource1"?Name="DataSet1_Orders"?/>
????????????????
</DataSources>
????????????
</LocalReport>
????????
</rsweb:ReportViewer>

?????? 中的<DataSources>的Name="DataSet1_Orders"是一致的

??? 可以通過對DataSet的填充時的sql語句等的定制 來得到所需要的數(shù)據(jù) 以便報表呈現(xiàn)
??? 需要注意的是由于ReportViewer1此時的關聯(lián)報表為Report1.rdlc,所以DataSet的Tables[0]中的結構
??? 一定要包含Report1.rdlc所呈現(xiàn)的字段,所以,這里的Sql語句為select top 5 * from orders
36.保存 運行 點擊Button1 以便 報表呈現(xiàn)

===============================================
如果 報表所要呈現(xiàn)的數(shù)據(jù) 來源于存儲過程
那么 在裝載DataSet時 使其數(shù)據(jù)來源于存儲過程即可
===============================================

37.右擊項目 添加新項 ,選擇 報表,向項目中加入Report2.rdlc,
?? 設置其呈現(xiàn)的數(shù)據(jù)來源為存儲過程 Sales by Year
?? 同樣的在Report2.rdlc的設計界面 加入“表”報表項
?? 并將網(wǎng)站數(shù)據(jù)源下的DataSet1下的Sales by Year表中的字段
?? 拉入報表項“表”在詳細數(shù)據(jù)中 進行顯示
38.如同Default.aspx 向項目中添加新的頁面Default2.aspx
?? 向Default2.aspx加入一個Button 和 ReportViewer1
?? 并設置ReportViewer1所要呈現(xiàn)的報表為Report2.rdlc
?? 設置ReportViewer1的Visible為false
?? 雙擊Button 進行其Click事件的編寫
?? 設置Default2.aspx為項目的起始頁
39.在Default2.aspx.cs加入引用
?? using System.Data.SqlClient;
?? using Microsoft.Reporting.WebForms;
40.Button1_Click的事件代碼示例如下

????protected?void?Button1_Click(object?sender,?EventArgs?e)
????
{
????????SqlConnection?myConn?
=?new?SqlConnection("Data?Source=192.168.0.36;Initial?Catalog=Northwind;User?ID=sa;Password=sa");
????????SqlDataAdapter?myda?
=?new?SqlDataAdapter("Sales?by?Year",?myConn);
????????myda.SelectCommand.Parameters.AddWithValue(
"@Beginning_Date",?"1997-10-10");
????????myda.SelectCommand.Parameters.AddWithValue(
"@Ending_Date",?"2000-10-10");
????????myda.SelectCommand.CommandType?
=?CommandType.StoredProcedure;
????????DataSet?myds?
=?new?DataSet();
????????myConn.Open();
????????myda.Fill(myds);
????????myConn.Close();

????????ReportViewer1.Visible?
=?true;
????????
????????ReportDataSource?rds?
=?new?ReportDataSource("DataSet1_Sales_by_Year",?myds.Tables[0]);
????????ReportViewer1.LocalReport.DataSources.Clear();
????????ReportViewer1.LocalReport.DataSources.Add(rds);

????????ReportViewer1.LocalReport.Refresh();
????}


41.保存 運行 點擊按鈕 報表效果查看

轉載于:https://www.cnblogs.com/freeliver54/archive/2006/11/27/573453.html

總結

以上是生活随笔為你收集整理的VS2005中ReportViewer 本地模式下报表呈现 入门示例的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。