运行时动态创建报表(五)报表设计器

来源:互联网 发布:杭州巨宇网络 编辑:程序博客网 时间:2024/05/17 02:07

运行时动态创建报表(四)中介绍了如何通过配置文件调用rdlc文件,本文将介绍如何创建配置文件。我将以实例的方式给与讲解。报表最重要的元素是数据,因此我们首先介绍如何配置数据库。如下图

首先我们要创建一个项目,这里的项目实际就是配置文件名称,创建一个项目就是创建一个文件。有了项目我们就要填写项目的血肉了。如下图,

接下来我们就要配置数据库的连接,对应到配置文件中的datasource,同一个项目可以有多个数据库连接。

  <datasource>
    <connectionString name="conn2" text="Data Source=localhost;Initial Catalog=kshgold;Persist Security Info=True;User ID=sa;Password=76o5o1" providerName="System.Data.SqlClient">
    </connectionString>
    <connectionString name="ecq_hg1549147695" text="Data Source=localhost;Initial Catalog=ecq_FuZhou;Persist Security Info=True;User ID=sa;Password=76o5o1" providerName="System.Data.SqlClient" />
  </datasource>

有了数据库,我们就要选取数据了。最方便的就是通过sql脚本的方式,如下图

在这里我们输入sql脚本并配置条件字段。对应到项目文件为节点rdlcdata。上图中的条件字段对应项目文件中的节点params。节点的说明在上一篇文章中已经介绍。

  <rdlcdata name="1-8月份单证量数据(时间提取)" sql="select regdate,datepart(m,regdate) as months,datepart(qq,regdate) as quarters,datepart(dd,regdate) as days,case datepart(dw,regdate) when 1 then '星期日' when 2 then '星期一' when 3 then '星期二'  when 4 then '星期三'  when 5 then '星期四' when 6 then '星期五' when 7 then '星期六'   end   as weeks,datepart(hh,nonce) as inhours ,datepart(hh,endtime) as donehours,queueno,catename,wastation,logname from core where regdate&gt;'{startdate}' and regdate &lt;'{enddate}'  and wastation&gt;0  order by regdate " conn="conn2">
    <params name="startdate" type="1" itemtype="" itemstr="" default="2009-01-01" dispcontent="开始时间" />
    <params name="enddate" type="1" itemtype="" itemstr="" default="2009-02-01" dispcontent="结束时间" />
  </rdlcdata>

最后我们就要创建rdlc文件并与数据相关联,如下图

如上图,我们选择已经创建的数据项,选择我们要创建的报表类型(table、matrix、chart)并填充相应的字段,各字段的意思(如类别组),用过reportviewer的朋友应该都知道,没用过的可以看vs的帮助文件。关于rdlc文件的创建我在第三篇文章中有介绍。这样我们就创建了rdlc文件并将文件和数据项关联起来了。这一步对应的项目文件中的节点为rdlc

  <rdlc name="月份类别接单分布" data="类别、关员按月份分组" file="D:/学习/RptBuilder/rdlc/月份类别接单分布.rdlc" type="3" />

通过上面四步一个完整的项目文件就可以创建好了。有了项目文件我们就可以根据项目文件来实现统计页了。下一篇文章我将介绍。

 

原创粉丝点击