VS2005 開發水晶報表(初級)

2022-02-27 04:07:23 字數 2354 閱讀 9822

**自:

(在網上看到很多用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,儲存後再安裝就是正式版了,記住,中間沒有橫線 如果先前已...