水晶报表实现(一)
WINFORM下創(chuàng)建水晶報(bào)表:
1、新建一個(gè)“windows應(yīng)用程序”
2、添加一個(gè)數(shù)據(jù)集(.xsd)文件,它是ADO.NET數(shù)據(jù)集,數(shù)據(jù)集用于在斷開緩存中存儲(chǔ)數(shù)據(jù),它的結(jié)構(gòu)類似于關(guān)系數(shù)據(jù)庫(kù)的接口,它公開表、行和列的分層對(duì)象模型。另外,它包含為數(shù)據(jù)集定義的約束和關(guān)系。數(shù)據(jù)集是容器,因此需要用數(shù)據(jù)填充它。
3、可以跟據(jù)向?qū)б徊揭徊降脑O(shè)置(這個(gè)別人都寫過(guò)了,再寫沒(méi)有什么意思。)
4、添加一個(gè)報(bào)表文件(.rpt),如果需要多個(gè)也可以添加多個(gè)。就情況而定。
如下:
5、在form窗體里面添加CryStalReportView控件。
6、在Form1.cs文件的Form_Load事件中添加如下代碼綁定數(shù)據(jù)(當(dāng)然也可以在默認(rèn)構(gòu)造函數(shù)Form1()中添加如下代碼):
?
privatevoid Form1_Load(object sender, EventArgs e){
string yy ="Data Source=.;Initial Catalog=Book;Integrated Security=True";
SqlConnection con =new SqlConnection(yy);
SqlCommand cmd =new SqlCommand("select * from CuserInfo", con);
con.Open();
SqlDataAdapter sda =new SqlDataAdapter(cmd);
DataSet1 ds1 =new DataSet1();
sda.Fill(ds1, "CuserInfo");
CrystalReport1 cry =new CrystalReport1();
cry.SetDataSource(ds1);
crystalReportViewer1.ReportSource = cry;
}
注意:一定要知道數(shù)據(jù)集的含義,新手的話就去了解一下吧(比如我)。不然照著人家的就是做不出來(lái)。我就出現(xiàn)了這樣的問(wèn)題。在數(shù)據(jù)集里面添加了一個(gè)DataTable1,又建了幾個(gè)字段,可是沒(méi)有數(shù)據(jù)。所以每次運(yùn)行都是只出來(lái)列名,沒(méi)有數(shù)據(jù)。
????? 數(shù)據(jù)集里面的表,應(yīng)該是從數(shù)據(jù)庫(kù)里面添加進(jìn)去的。(可以直接拖進(jìn)去VS中),也許可以那樣做,可是本人現(xiàn)在水平有限,只知道這樣子做,如果有更好的辦法一定會(huì)記錄下來(lái)的。
????? 不過(guò)現(xiàn)在知道了。這也是進(jìn)步,每天進(jìn)步一點(diǎn)點(diǎn)。。。嘿嘿。。。
轉(zhuǎn)載于:https://www.cnblogs.com/jRoger/articles/1862960.html
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
                            
                        - 上一篇: Java使用线程并发库模拟弹夹装弹以及发
 - 下一篇: 打印某个进程下的所有线程--Linux环