有人說我寫東西比較囉嗦,呵呵,這次簡單點。
先建個水晶報表工程
建立完後,先把報表介面關了,建立個dataset
在裡面建立個表,mytable
根據需要定義幾個欄位
然後設計報表,選資料來源
報表如下
在表單裡寫上代碼
1 private void Form1_Load(object sender, EventArgs e)
2 {
3 //填充dataset,這裡就可以承接任何介面,資料庫,數組啥得都行
4 DataSet1 ds1 =new DataSet1();
5 ds1.mytable.AddmytableRow("a1","a2","a3","a4","a5",1,1,1,1,1);
6 ds1.mytable.AddmytableRow("b1","b2","b3","b4","b5",1,1,1,1,1);
7 ds1.mytable.AddmytableRow("c1","c2","c3","c4","c5",1,1,1,1,1);
8 ds1.mytable.AddmytableRow("d1","d2","d3","d4","d5",1,1,1,1,1);
9 ds1.mytable.AddmytableRow("e1","e2","e3","e4","e5",1,1,1,1,1);
10
11 CrystalReport1 cr1 =new CrystalReport1();
12 cr1.SetDataSource (ds1);
13 crystalReportViewer1.ReportSource = cr1;
14 }
這就完成了~~
PS1
可以配合 http://www.cnblogs.com/babyt/archive/2008/01/03/1024941.html 實現更靈活的效果
PS220080917: 補充一下一個基礎的資料庫讀取,替換文中的自填充ds段:
SqlConnection conn = new SqlConnection("server=xxx.;Uid=sa;Pwd=;database=test");
conn.Open();
SqlDataAdapter da = new SqlDataAdapter("select a1,b1,c1,d1,e1 from test", conn);
DataSet ds = new DataSet();
da.Fill(ds1, "mytable"); //特別注意此處的表名,需與設計時的表名一致
conn.Close();