新建一個網站項目,
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文件來設計報表樣式,報表的數據在單獨的類中實現. 本文轉自桂素偉51CTO博客,原文鏈接: http://blog.51cto.com/axzxs/149695,如需轉載請自行聯系原作者