机房重构之报表制作

来源:互联网 发布:淘宝客推广方法 编辑:程序博客网 时间:2024/05/18 03:38

        整个机房重构终于接近了尾声,但是一看到要制作报表就觉得头疼,因为不知道从哪下手,后来在网上查资料看博客,在经过一天的奋斗最终还是战胜了恐惧。以此写篇博客与各位分享交流同时也记录下自己的点滴成长!下面就让我们开始报表之旅吧:

创建报表的具体步骤:

一:创建数据集:

1、在该项目上右击:添加>>>>新建项>>>>


2、为数据集添加内容:


3、新建连接:


4、选择自己所需要的服务器以及测试:



5、选择SQL语句:


6、如果有参数条件的查询如下图:


7、点击查询生成器以后选择您要添加的表:


8、添加完成以后的状态:


9、一个完整的表:


二:创建报表:

1、在项目上右击添加>>>>>新项目


2、绑定数据集:(选择自己刚才创建的数据源)


3、在报表里选择要显示的数据:


三:添加报表的一个控件:


以上就是报表制作的全部过程!

U层代码:(其余代码都一致)

private void FrmCheckBill_Load(object sender, EventArgs e)        {            //// TODO: 这行代码将数据加载到表“charge_sysDataSet.CheckDay_Info”中。您可以根据需要移动或删除它。            //this.CheckDay_InfoTableAdapter.Fill(this.charge_sysDataSet.CheckDay_Info, DateTime.Now.Date.ToString());            this.reportViewer1.RefreshReport();        }        private void btnLookFor_Click(object sender, EventArgs e)        {            //参数            dTPStart.Text = dTPStart.Value.Date.ToShortDateString();            dTPEnd.Text = dTPEnd.Value.Date.ToShortDateString();            DateTime starttime = Convert.ToDateTime(dTPStart.Text);            DateTime endtime = Convert.ToDateTime(dTPEnd.Text);            //实例化外观            FacadeCheckBill facadecheckbill = new FacadeCheckBill();            DataTable table = facadecheckbill.FFcheckbill(starttime,endtime);            ReportDataSource reportdatasource = new ReportDataSource();            //设置报表的数据源名称            reportdatasource.Name = "DataSet1";            //报表数据源实例            reportdatasource.Value = table;            this.reportViewer1.LocalReport.ReportEmbeddedResource = "UI.Report.rdlc";            //清空存在的报表            this.reportViewer1.LocalReport.DataSources.Clear();            //添加数据源            this.reportViewer1.LocalReport.DataSources.Add(reportdatasource);            //传递参数            //dTPStart.Text = DateTime.Now.ToShortDateString();            //dTPEnd .Text = DateTime.Now.ToShortDateString();            //DateTime starttime = Convert.ToDateTime(dTPStart.Text);            //DateTime endtime = Convert.ToDateTime(dTPEnd.Text);            //this.CheckDay_InfoTableAdapter.Fill(this.charge_sysDataSet.CheckDay_Info,dTPStart,dTPEnd);            //刷新报表            this.reportViewer1.RefreshReport();        }    }
总结的不好,还要各位不吝赐教!