如何製作LocalReport-簡易版

如何製作LocalReport-簡易版(上)

如果想要在visual studio上製作reportviewer

但所連結的是local report的話,可以使用下列的方式製作

但在此還是要說一下localreport 的優缺點,個人認為啦

優點:可以不用依付sql server的reporting services ,可以獨立運作,且可以利用程式的優點,處理複雜的商業邏輯之後,再把資料集丟給localreport去呈現

缺點:無法即時預覽,只能在建置後才能看到結果,這是指相較於ServerReport,但vs2005版及vs2008版的reportviewer的功能還是一樣有問題,就是匯出到excel後,無法呈現子報表的內容,這個問題在sql server2008的reporting services有獲得解決…但,微軟怎沒有出sp啊,修正一下嘛..

好啦!回到正題

在你的專案中加入一個localreport的檔案

clip_image001

接下來我們加入一個資料集,這個資料集,是用來在畫面拉欄位用的

clip_image002

接下來我們連接的資料庫是sql server

clip_image003

clip_image004

clip_image005

我是以 AdventureWorks的資料庫當作範例,我拉二個資料表進來當作測試

clip_image006

如果想要修改查詢的欄位的話,可以照下圖的方式設定修改

在標題的地方,按滑鼠右鍵選設定

clip_image007

在下方的畫面就可以更改sql指令囉!亦或使用”查詢產品器”也可以

clip_image008

以上的設定做完後,記得要建置一下專案,不然在localreport會找不到欄位可以拉

接下來回到localreport的畫面 ,拉出一個資料表控制項,然後再從資料來源隨便拉一個欄位到資料表中

clip_image009

然後專案再加入一個aspx的網頁檔

在這個網頁檔中插入一個reportviewer元件

clip_image010

 

 

在畫面先拉出查詢項目

clip_image001[5]

在查詢按鈕的事件中,程式如下

 

		   1: protected void Button1_Click(object sender, EventArgs e)
		   2:        {
		   3:            this.ReportViewer1.LocalReport.DataSources.Clear();
		   4:            DataSet ds = dal_Product.SelectForReport(this.TextBox1.Text);
		   5:            this.ReportViewer1.LocalReport.DataSources.Add(new ReportDataSource("Product", ds.Tables["product"]));
		   6:            this.ReportViewer1.LocalReport.Refresh();
		   7:  
		   8:        }
		   9:  

先將LocalReport資料清掉,再自行呼叫過濾資料的function,然後再塞回LocalReport.DataSources

若有多個可以一直add

紅色字的部份,要跟你的localreport的資料來源名稱一樣才可以

如何知道localreport的資料來源名稱,先切換到report的設計畫面,然後照下圖點選

clip_image002[5]

這裡就可以看到你的report是會有那些資料來源,在程式中紅色的部份,就要打這個名稱

‧覺得文章不錯請給我一個『讚』作為鼓勵喔!