asp.net RDLC报表使用(一)

来源:互联网 发布:省软件行业协会 编辑:程序博客网 时间:2024/06/06 11:36

           前言

           最近在用VS2005的报表,RDLC报表;对于VS2005的另外一个报表水晶报表,不是微软出品的,而且导出excle的时候不好,我就不太想用,有兴趣的话可以去蜡人张的博客去看看。

          RDLC报表的强大是在使用过程中,传递进入的数据集可以不做大的调整,RDLC有很多数据处理功能,其实水晶报表也就,就是不喜欢水晶报表调格式。

          对RDLC的研究我也不知道自己能走多远,能多远算多远把。

    

1、RDLC报表的关联

      公司的产品是可以通过SQL语句,自动生成xls数据构架文件,具体的方法还不清楚,可能会在另外的文档里面说吧。在WEB应用载入的时候,只要关联到报表文件及数据集就可以了。

 

      XLS文件与rdlc报表的关联。

  • 新建一个项目,在项目中把RDLC报表控件放入窗体中,通过RDLC控件新建一个RDLC报表。
  • 在项目中把xls文件引入,就可以在数据源单元中找到对应的xls文件描述的数据集。
  • 将xls数据源中的字段拉入RDLC报表,报表就获取了xls文件中描述的所有字段。如果一个xls文件有多个数据集,每个数据集都要拖一个字段,而且如果xls文件发生变化了,需要重新引用,拖入字段。保存之后,就可以单独对 RDLC报表单独编辑了。

     (实际上RDLC报表也是一个xml文件,可以直接编辑添加数据源字段内容,xml文档高手可以去编辑,本人比较懒,水平不行,就只能拖动了。)

2、RDLC 报表设置

     先看看样式,用了两个数据集;可以对数据进行聚合、分组、计算。

     

  • RDLC报表编辑使用的视图,一个就是工具箱,还以一个是文档大纲(这个容易被忽视),属性栏的话按个人喜好了。
  • 报表参数设定。

        可以在外部直接传入一些非数据集的参数,在报表中只要设置这些传入参数的名称,就是使用这些参数了。选中报表空白处,在【报表】菜单栏,选择报表参数,直接添加就可以了。

  • 文本的设置。

        都是通过【表达式】进行设置的,下面举个例子

      

IIf(Count(Fields!WCZT.Value,"缺陷统计RDLC_T_QX")>0,str(Sum(IIf(Fields!WCZT.Value="00",0,1), "缺陷统计RDLC_T_QX")*100/Count(Fields!WCZT.Value,"缺陷统计RDLC_T_QX")),"100")

        
"缺陷统计RDLC_T_QX"这个是域字段,因为一张报表里面有两个数据集,所以要这个来区分。这个域字段放置的位置很重要,放错了 ,报表就报错。一般放在聚合函数里面,不能放在流程函数里面。

  •      层叠展开设置

          第一层list设置:从工具箱中拖出一个list,选择list的属性,选择【编辑详细信息组】,选择需要分组的字段。这个list就按照这个字段进行分组显示。数据集名称选择你用的数据集,其他的属性根据实际需要吧

         第一层list文本框设置:因为liset设置了数据集,这里面的字段就不用加域来说明了。注意"list3_Details_Group",这个是第二层list控件的名称,可以直接对他count,计算出下个list的记录数。当然第一层是可见的。

=Switch(Fields!WCZT.Value="00","XXXX",Fields!WCZT.Value="01","XXX")+"合计【"+str(Count("list3_Details_Group"))+"】"
     第二层list设置:把list控件拖入第一个list,然后同样设置分组字段,自分组字段中的【父组】就要选择第一层的分组字段,可见性就是影藏了,还要设置关联字段,就是第一层的list文本名称。
     其他的,就可以把文本框、数据列表框都可以放进去了。
     整体的样式就是下面这个样子。右边的文档大纲,很好的反应了这个报表的结构,而且所有的控件都在这个里面。


 

原创粉丝点击