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