黃聰 c 水晶報表的進一步功能和使用

2021-09-05 23:12:42 字數 1618 閱讀 2145

最近一直在學水晶報表,一些基礎知識覺得學了不少,可是還是覺得水晶報表的核心還沒有學會!可是是在自學的原因吧.沒有人指導,只是自己埋著頭自己學,什麼地方學偏了也不知道。

有一點一直認為自己的認識有偏差,就是我總是認為水晶報表很簡單,只是能實現選擇顯示列印的功能。但是她到底能不能實現刪改的功能呢?查了一些資料都沒有說!但是水晶報表不是都是說功能強大嗎!怎麼可能只有這麼點功能呢?有點懷疑自己!有沒有水晶報表學的比較好,可否給點指導呢啊?

下面是我收集的一些水晶報表的基礎資料:

【說明】

水晶報表在應用時分兩種方法,分別是拉模式(pull)、推模式(push)。拉模式:在水晶報表生成時的資料來源是從水晶報表檔案中的sql語句從資料庫中提取的,在程式設計時不用重寫sql語句,但要加上登入資訊(具體方法,後面介紹)。推模式:在水晶報表生成時的資料來源,是用程式設計時重寫水晶報表中sql語句而生成的dataset對像。也就是說,推模式是用dataset組裝水晶報表。

水晶報表元件介紹。水晶報表在vs2005中有兩種元件,在web專案是分別是crystalreportsource,crystalreportviewer。在form專案裡是分別是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;

//////功能:拉模式提取水晶報表

///個人主頁:

//////

///protected void button_pull_click(object sender, eventargs e)

【form方式下】

//在form方式下**同web方式,用crystalreport控制項換掉了crystalreportsource;用crystalreportviewer換掉了crystalreportviewer;這兩個控制項都可以在工具箱裡找到。同時在程式設計時去掉databind()方法。

private void form1_load(object sender, eventargs e)

推模式(push):

在推模式中程式設計組裝的dataset裡的sql語句中的字段要與水晶報表裡的sql語句字段一致。簡單的說,推模式中的水晶報表是個模板,把在設計器裡報表的格式設好後,再組裝dataset就可以生成報表了。

【web方式下】

crystalreportviewer1.reportsource = crystalreport1;

}這篇文章裡包含了製作水晶報表的基本步驟!

c 水晶報表的進一步功能和使用!

最近一直在學水晶報表,一些基礎知識覺得學了不少,可是還是覺得水晶報表的核心還沒有學會!可是是在自學的原因吧.沒有人指導,只是自己埋著頭自己學,什麼地方學偏了也不知道。有一點一直認為自己的認識有偏差,就是我總是認為水晶報表很簡單,只是能實現選擇顯示列印的功能。但是她到底能不能實現刪改的功能呢?查了一些...

C語音的進一步學習

c語音的經典例項 楊輝三角的輸出 include int main for i 2 i 5 i for j 1 j i 1 j a i j a i 1 j a i 1 j 1 for i 0 i 5 i 用void sort 函式將陣列中的數從大到小排序 include void sort int ...

對於封裝和繼承的進一步理解

import inte ce rectangle nsobject property int width height void setwidth int w andheight int h void caculate 宣告類方法 void textprint end import rectangl...