翻譯|其它|編輯:郝浩|2008-01-22 10:34:49.000|閱讀 5234 次
概述:
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
上一次自己做了直接在rpt文件里使用oledb連接使用數據庫的方法 但是不是很靈活 這次做了使用sql語句直接生成dataset做為報表的數據源(即push模式),這樣就可以接受參數了。當然報表有設置參數的功能 這方面我還沒有詳細研究
一.sql語句中沒有使用表的相互關聯(簡單的查詢語句)
設計一個DataSet
1) 右擊“解決方案瀏覽器”,選擇“添加”--“添加新項”-->“數據集”
2) 從“服務器資源管理器”中的“SQL Server”中拖放“Stores”表(位于PUBS數據庫中)
3) 此時在數據集中就會有一個Stores表的結構圖。xsd文件中僅僅包含一個結構圖,但是不會有任何數據在里面創建一個.rpt文件crystalreport1.rpt同時將其指定給上一步建立的DataSet。
4) 使用上面的介紹過的方法創建此文件,唯一的不同就是使用數據集來代替前面的直接連接數據。
5)建立.rpt文件之后,右擊“詳細資料”-->"添加/刪除數據庫“
6) 在”數據庫專家“窗口中,展開”項目數據“(代替以前的OleDb),展開“ADO.Net數據集”--"DataSet1“,選擇”Stores“表。
7) 將”Stores"表添加到“選定的表”中,點擊“OK”
8) 建立一個WebForm1.aspx 拖入一個Crystal Report Viewer 控件
9)WebForm1.aspx.cs
ReportDocument oRpt = new ReportDocument();
string RptDir="f:\\bbs\\test\\crystal\\crystalreport1.rpt";
oRpt.Load(RptDir);
...//根據sql語句得到DataSet 這個就不多說了
oRpt.SetDataSource(ds);
CrystalReportViewer1.ReportSource=oRpt;
//注意push模式用不到設置logOnInfo參數
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:個人博客