C# visual studio2010 报表制作一二事

  最开始以为把数据库中的内容通过一个控件GridView在窗体显示出来就可以了。但是这样的不能算是报表,所以自己又通过查资料发现可以应用另一控件来制作报表。这个控件就是——ReportViewer(功能很强大)。
  下面以一个实例来讲解一下。我用的是课设的以一个小模块。首先要有一个数据库文件,即后缀名是.mdf类型的文件。因为我的例子是做一个农业保险的报表,所以我的数据库命名为agriculture。

1.将数据库文件保存在C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA这一目录下;

2.以系统身份登陆系统数据库,并且鼠标点击数据库,右键选择附加,在步骤1的目录下找到自己的agriculture.mdf,点击确定。如图:

3.添加数据库之后开始进入正题,制作简单的报表;

4.鼠标放在项目上,右键->添加->新建项->数据->数据集;

名称是DataSet8

5.添加之后会出现如下界面,点击左侧的Data Table,将其放在面板中;

6.面板上会出现一个DataTable1,鼠标放在上面右键—>添加->列,会在第一行出现可编辑的数据,此时你只需将你自己的数据库里面相应表的字段输入即可。在这个例子中,我做的事保险系统的理赔表,添加之后如下图:

7.数据集到这里就添加完成了,下面绘制报表(上一部做完之后要保存哦);

8.同样是鼠标放在项目上右键->添加->新建项->Reporting->报表;

9.添加之后会跳转,左侧的工具箱中点击表,添加到面板会有窗口提示,名称改成刚才新建的数据集DataSet8,数据源选择DataSet8,确定。

10.确定之后就会生成一个表,现在你就可以设计你的表头的字段了,设置完成后下面的数据也要相应的对应;

补充:默认是生成3列,但是可能不够,我们可以右键添加列。

11.完成后保存,到现在已经完成一大半了。接着在需要显示报表的窗体上添加一个ReportViewer控件(工具箱里面自带的),调整大小,然后右键查看代码;

12.在form的初始化函数中添加如下代码:

           SqlConnection conn;
            conn = new SqlConnection("Data Source=(local);Initial Catalog=agriculture;Integrated Security=True");
            string sql = "select * from Claim";    //Claim是我的数据库中关于理赔的表,读者可以根据自己的注聚酷做修改
            SqlDataAdapter thisAdapter = new SqlDataAdapter(sql, conn);
            System.Data.DataSet thisDataSet = new System.Data.DataSet();
            thisAdapter.Fill(thisDataSet, "table");
            DataTable dt = thisDataSet.Tables["table"];
            conn.Close();

同时在private void Form10_Load(object sender, EventArgs e)中添加如下代码:

            SqlConnection conn;
            conn = new SqlConnection("Data Source=(local);Initial Catalog=agriculture;Integrated Security=True");
            string sql = "select * from Claim";//这里要和上面一致
            conn.Open();
            SqlDataAdapter thisAdapter = new SqlDataAdapter(sql, conn);
            System.Data.DataSet dst = new System.Data.DataSet();
            thisAdapter.Fill(dst);
            int count = dst.Tables[0].Rows.Count;
            this.reportViewer1.LocalReport.ReportEmbeddedResource = "agriculture.Report8.rdlc";这里的要改成8
            this.reportViewer1.LocalReport.DataSources.Clear();
            this.reportViewer1.LocalReport.DataSources.Add(new Microsoft.Reporting.WinForms.ReportDataSource("DataSet8", dst.Tables[0]));//这里也要改
            this.reportViewer1.RefreshReport();
            conn.Close();

13.保存之后就可以运行了。运行效果如下:

 

  到此,这个报表就完成了。这个只是最初不的简单的报表制作。但是这个空间的功能很强大,可以导出到Excel,word,pdf。希望对大家有帮助!也希望大家关注一下。


展开阅读全文

没有更多推荐了,返回首页