**自:
(在網上看到很多用vs開發水晶報表的文章,但都是基於vs2003的,找到的這篇才是真正基於vs2005,而且原博主 講解的很詳細,web專案、 windowsform專案 都講到了。同時 ,根據我的理解,進行了一些修改和調整)
水晶報表是乙個功能強大的報表工具,現在已經被microsoft visual studio 2005(下文以vs2005簡稱)整合在一起。水晶報表在vs2005的使用方法如下:
【軟體環境】microsoft visual studio 2005;microsoft sql server 2005
【資料用例】
伺服器:sqlexpress
資料庫名:test
資料庫表:t
【說明】
水晶報表在應用時分兩種方法:分別是拉模式(pull)、推模式(push)。
拉
模式:在水晶報表生成時,資料來源是從水晶報表檔案中的sql語句直接從資料庫中提取的,在程式設計時不用重寫sql語句,但要加上登入資訊(具體方法,後面介紹)。
推模式:水晶報表生成時,資料來源是用dataset物件,這個dataset物件 是用程式設計的方法(就是自己寫**進行資料庫連線、繫結等)重寫水晶報表中sql語句而生成的。也就是說,推模式是動態組裝的水晶報表。
水晶報表元件介紹:水晶報表在vs2005中有兩種元件,
在web專案是分別是crystalreportsource,crystalreportviewer。
在windowsform專案裡是分別是crystalreport,crystalreportviewer。
crystalreportsource,crystalreport是水晶報表的資料提供者;
crystalreportviewer是水晶報表的瀏覽器。
另外還要介紹一下水的報表的檔案是以 rpt 為副檔名的檔案,該檔案用vs2005新增即可(新增乙個新項——)。
下面分別介紹具體操作方法:
拉模式(pull):
在拉模式中如要在水晶報表中的sql語句加上條件引數時要用方式給出。例:「select t1, t2, t3 from t where t1=''''」 parm就是引數名
以下例子中所用到的水晶報表檔案中使用的sql語句是「select t1, t2, t3 from t where t1=''''」 parm就是引數名。
【web方式下】
using crystaldecisions.shared;
using crystaldecisions.crystalreports.engine;
//////功能:拉模式提取水晶報表
///個人主頁:
//給水晶報表傳引數,引數一:是引數名,引數二:引數值;
crystalreportsource1.reportdocument.setparametervalue("title", "這是乙個測試報表");
crystalreportsource1.reportdocument.setparametervalue("parm", "1");
//繫結水晶報表資料來源。
crystalreportsource1.databind();
// crystalreportviewer1是水晶報表瀏覽器,下面是給該瀏覽器賦上對像
crystalreportviewer1.reportsource = crystalreportsource1;
crystalreportviewer1.databind();
}推模式(push):
在推模式中程式設計組裝的dataset裡的sql語句中的字段要與水晶報表裡的sql語句字段一致。
//中的引數可以不用賦值,即使賦了值也不起作用。
// crystalreportsource1.reportdocument.parameterfields["parm"].currentvalues.addvalue("1234567");
crystalreportsource1.reportdocument.parameterfields["title"].currentvalues.addvalue("這時推模式的報表樣例!");
crystalreportsource1.databind();
crystalreportviewer1.reportsource = crystalreportsource1;
crystalreportviewer1.databind();
}待解決的問題:水晶報表如何實現和使用者進行互動?難道報表一旦生成,就只能進行資料展示,不能根據使用者自行設定的條件進行篩選/彙總/版面調整?
vs2005水晶報表的使用
網上有很多關於水晶報表的文章,但是都寫的不是特別細,不適合沒玩過的人,我自己也是找了很多文章才弄懂的,在這裡重新講一下winfrom下面的推模式,主要是怕自己忘記 1.用vs新建乙個crystalreport的專案。2.根據嚮導連線到資料庫。3.將所需的字段拉倒crystalreport裡面。4.務...
解決VS2005水晶報表多表關聯去除資料庫登入框
解決vs2005水晶報表多表關聯去除資料庫登入框 www.diybl.com 解決問題很簡單,選看下面的 dataset ds new dataset sqldataadapter da1 new sqldataadapter select from table1 myconn sqldataada...
vs2005打包水晶報表註冊碼
如果先前已經安裝好180天的版本,請在新增刪除visual studio 2005時,可以輸入序列號,進行公升級。找到setup資料夾下的setup.sdb,用記事本開啟它,找到 product key 將下面的一行序列號刪除,改為正式key,儲存後再安裝就是正式版了,記住,中間沒有橫線 如果先前已...