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文件來設計報表樣式,報表的數據在單獨的類中實現.