水晶報表的Push模式及多表製作

2021-06-04 15:08:03 字數 1556 閱讀 3525

裝載水晶報表的webfrom.aspx中新增如下**:

解決彈出應用dataset彈出登陸介面的問題。

protected void page_load(object sender, eventargs e)

中的引數可以不用賦值,即使賦了值也不起作用。

// crystalreportsource1.reportdocument.parameterfields["parm"].currentvalues.addvalue("1234567");

"title"].currentvalues.addvalue("這時推模式的報表樣例!");

crystalreportsource1.databind();

crystalreportviewer1.reportsource = crystalreportsource1;

crystalreportviewer1.databind()

多表版本:

protected void page_load(object sender, eventargs e){/*

在【推拉之間】沒有說這個xsd,是因為當時沒講到細節操作。說了很難理解。

這個xsd,是我們自己構造的,做個比喻吧:就是xsd比作個乙個架子,它負責

把水晶報表撐起來,但是是空的,沒有內容我們用 push模式,把資料塞給它,

把架子塞滿,這樣水晶報表也就能呈現出效果來.

*///使用 push模式的優點就在此,可以自由組合sql

string orders = "select * from orders";

string customers = "select * from customers";

string orderdetails = "select * from [order details]";

//連線字串

string dbconfig_sql = @"data source=.;initial catalog=northwind;user id=sa;password=sasa";

//建立我們的dataset1例項

dataset dataset1 = new dataset();

sqlconnection sqlcon = new sqlconnection(dbconfig_sql);

sqldataadapter sqlad = new sqldataadapter();

//填充dt1

//前提是表名稱和欄位名(需要在sql中使用as別名的方式跟xsd中設計的欄位名一致)都要一致

sqlcommand sqlcmd3 = new sqlcommand(orderdetails, sqlcon);

sqlad.selectcommand = sqlcmd3;

sqlad.fill(dataset1, "order details");

sqlcommand sqlcmd2 = new sqlcommand(customers, sqlcon);

sqlad.selectcommand = sqlcmd2;

sqlad.fill(dataset1, "customers");

水晶報表的PUSH模式

水晶報表一般分為pull模式以及push模式。pull模式是指使用控制項連線資料,push模式是指使用 的方式。由於進行編碼練習,所以也就沒有進行pull的嘗試。以下是乙個最簡單的水晶報表的push模式。1.rpt 報表模版 2.資料表結構 3.form樣式 控制項型別 crystalreportv...

水晶報表設計(三) PUSH模式(二)

首先解釋乙個pull模式和push模式的區別 1 pull模式 與資料庫緊耦合模式。也就是說,當資料庫位置發生變化的時候,水晶報表就找不到它的資料來源了。原因 在給水晶報表建立資料庫連線的時候,連線串是存放在水晶報表裡面的。比如是127.0.0.1。當資料庫位置發生變化的時候,比如變成了127.0....

水晶報表內功心法 PUSH模式樣板招式

前篇講解了pull模式下的操作方法,比較簡單。本文進一步詳細講解一下push模式下的樣板操作。仍以web為例 新建乙個 asp.net crystalreports的 彈出下面這個介面後,選第2項 作為空白報表,然後點確認,進入乙個空白介面。新建乙個資料集合 出現此提示時,點 是 然後還會出來連線資...