新建一個網站項目,
1.設置數據庫
從服務器資源管理器中,數據連接中添加新連接,用Microsoft Access數據庫文件作為數據提供程序,連接上Crystal Reports的用例的數據庫Xtreme
2.創建新Crystal Reports報表
在工程項目中添加一個Crystal Reports的報表,名稱為CR1.rpt.
3.添加XML架構文件
在工程中添加一個xml架構文件,因為xml架構文件本身也是一個xml文件,名稱為訂單.xsd,為了便捷操作,可以選擇該文件,在打開方式中選擇數據集編輯器.然後選擇xtreme庫中的訂單表,拖放到本xml架構文件中,就會自動生成一個訂單的文件,在這裡,只用到該表的架構,也就是字段框架的信息,所以自動生成的TableAdapter是沒有用處的,可以刪掉.
4.添中字段到字段資源管理器上
打開字段資源管理,右鍵數據庫字段,選擇數據庫專家,在這裡我們用ADO.NET來做數據源,雙擊創建新連接下的ADO.NET先項,在彈出的ADO.NET面板上,選擇文件路徑,選擇上面創建的訂單.xsd,然後添加到數據庫字段中,這時我們會看到,在字段資源管理器下多了一個訂單,展開訂單,會看到所有字段.(xsd文件是為了設計報表時,能利用字段,所以xsd在這時百作為表字段的一個架構文件)
打開建好的CR1.rpt,來開始真正的設計報表,現在要出一個合部訂單的詳細報表.
在報表設計時,字段資源管理器是一個非常重要的面板,因為大部分數據都是通過這裡的實現的,不但有數據庫字段,還有一些公式,參數,組名,運行總計,還有特殊的字段.關於字段,在以後的文章中去說.
現在我們在訂單中,選擇訂單地ID,訂單金額,訂單日期,已發貨,已收貨款幾個字段,分別放入CR1.rpt報表的詳細資料節中,系統會自動在頁眉處理添加相同的字段,如下圖
圖1
CR1.rpt中其實就是一個設計報表的環境,如果采用ADO.NET連接數據庫,CR1.rpt就能成為報表的架構設計了(數據是采用拉模式實現的),具體的數據,要在頁面中去實現.
在aspx頁面中,放一個CrystalReportViewer控件,命名為CRV1,在頁面的Load事件訂閱的方法中寫入下列代碼:
string path = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|"xtreme.mdb;Persist Security Info=True";
string sql = "select * from 訂單 ";
OleDbDataAdapter DA = new OleDbDataAdapter(sql, path);
DataTable DT = new DataTable();
DA.Fill(DT);
Session["dt"] = DT;
ViewState["d"] = 0;
ReportDocument doc = new ReportDocument();
doc.Load(Server.MapPath(@"CR1.rpt"));
doc.SetDataSource((DataTable)Session["dt"]);
CrystalReportViewer1.ReportSource = doc;
這樣,就實現了一個簡單的界面來預覽報表的樣式.
報表設計的思路就是用rpt文件來設計報表樣式,報表的數據在單獨的類中實現.