在asp.net中,利用ReportView控件可以方便地訪問SQL 2005的報表服務。
首先,安裝ReportView控件。如果你使用的是SQL 2000報表服務器,到這個目錄去找到源碼工程 C:/PRogram Files/Microsoft SQL Server/MSSQL/Reporting Services/Samples/applications/ReportViewer/vb and C:/Program Files/Microsoft SQL Server/MSSQL/Reporting Services/Samples/Applications/ReportViewer /cs,然后自己去編譯。
如果你直接使用SQL 2005的報表服務器,只要安裝時選擇了work station,就會自動安裝上這個控件。不需要自己編譯了。
在你的ASP.NET工程中,新建一個web page,加入一個ReportView控件ReportViewer1。
修改ReportServerUrl和ReportPath兩個屬性:
ReportServerUrl=http://ctc-bar:81/reportserver (ctc-bar是你的報表服務器的名字,我這里因為使用的是端口81,所以加上了:81)
ReportPath=/Barreports/EBCdetaillist (/Barreports/EBCdetaillist是你的報表所在路徑,注意最前面的/)
現在,你已經可以使用這個報表了。運行你的程序,在ReportView的位置出現了報表,和從URL訪問一抹一樣。
現在,我要對報表的輸入參數作些工作,我的報表里有兩個時間參數,開始時間和結束時間。如果直接在文本輸入框輸入2007-1-1,非常不方便。我希望從web page上加一個日期選擇的控件來代替直接輸入日期。
這需要兩步:
1 將ShowParameterPrompts設置為false. 即關閉報表服務器提供的參數輸入區域。
2 在web page上增加START DATE和END DATE兩個日期控件,和一個VIREW REPORT的按鈕。
在VIREW REPORT按鈕的CLICK事件中,將日期控件的值用SetParameters方法傳遞給服務器。類似于
Parameters[0] =
Parameters[1] =
網上這個地址有更加詳細的講解
http://www.dreams.idv.tw/~code6421/Doc/SqlRepSvc2.pdf
ReportParameter[] Parameters = new ReportParameter[2];new ReportParameter("startdate", "2007-1-1 00:00:00");new ReportParameter("enddate", "2007-3-1 00:00:00");this.ReportViewer1.ServerReport.SetParameters(Parameters);
http://blog.csdn.net/yanwei100/archive/2007/02/25/1514008.aspx
|
新聞熱點
疑難解答