水晶報表在應用時分兩種方法,分別是拉模式(pull)、
推模式(push)。
1、拉模式:
在水晶報表生成時的"資料來源"是從水晶報表檔案中的sql語句從資料庫中提取的,在程式設計時不用重寫sql語句,
但要加上登入資訊(具體方法,後面介紹)。
2、推模式:
在水晶報表生成時的資料來源,是用程式設計時重寫水晶報表中sql語句而生成的dataset對像。
也就是說,推模式是用dataset組裝水晶報表。
3、水晶報表元件介紹:
水晶報表在vs2005中有兩種元件,在web專案是分別是crystalreportsource,crystalreportviewer。
在form專案裡是分別是crystalreport,crystalreportviewer。crystalreportsource,crystalreport是水晶報表的資料提供者;
crystalreportviewer是水晶報表的瀏覽器。另外還要介紹一下水的報表的檔案是以rpt為副檔名的檔案,該檔案可以用vs2005生成。
4、具體操作方法:
(1)、拉模式(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;
protected void button_pull_click(object sender, eventargs e)
crystalreportviewer1.reportsource = crystalreport1;
}2、水晶報表最簡便繫結法
水晶報表一般在建立資料集之後進行繫結,下面我介紹一種,直接用sql語句繫結,不需要設定crystalreportviewer1的報表路徑,不需要單獨建立資料集的簡便方法。
**如下:
crystalreport3 ocr = new crystalreport3(); // 繫結的.rpt 物件
ocr.setdatasource(ds);
this.crystalreportviewer1.reportsource = ocr; // 繫結rpt檔案
cnn.close();
注:meetingplan要與報表專家crystalreport3繫結的一致,否則會出現查詢引擎錯誤。
在VS2013中使用水晶報表
原文 在vs2013中使用水晶報表 又遇到了在b s系統中列印,列印格式要求比較高,列印出的效果要求高大上。用vs2013中微軟自帶的報表,實在難以實現應用的效果,主要問題表現在 1.不能插入用word做好的列印模板,自己按照模板來做感覺比較費事,實現不了word的列印效果,一旦列印模板改變,調整格...
在VS2013中使用水晶報表
又遇到了在b s系統中列印,列印格式要求比較高,列印出的效果要求高大上。用vs2013中微軟自帶的報表,實在難以實現應用的效果,主要問題表現在 1.不能插入用word做好的列印模板,自己按照模板來做感覺比較費事,實現不了word的列印效果,一旦列印模板改變,調整格式比較麻煩。2.在火狐 谷歌瀏覽器中...
vs2005水晶報表的使用
網上有很多關於水晶報表的文章,但是都寫的不是特別細,不適合沒玩過的人,我自己也是找了很多文章才弄懂的,在這裡重新講一下winfrom下面的推模式,主要是怕自己忘記 1.用vs新建乙個crystalreport的專案。2.根據嚮導連線到資料庫。3.將所需的字段拉倒crystalreport裡面。4.務...