asp.net--------报表的操作

一、定义

Reportviewer 是Microsoft Visual Studio 自带的控件之一,用于数据的统计与打印导出。有着良好的可操作性和可视性,适用于简单的统计。 报表可以包含表格格式数据、聚合数据和多维数据。 提供 ReportViewer 控件的目的是可以处理和显示应用程序中的报表。

二、创建报表

                                                       首先在页面中添加Reportviewer控件

                                                                    在页面中添加rdlc文件

                                                     插入矩阵进行设计,并选择数据源

                                                          设置行组和列组,并进行统计

在原来的页面上操作ReportViewer控件,设置的报表来源为刚才添加的rdlc文件(这里我设置的是Report1.rdlc),同时设置数据源,如果是vs2012的话,需要ScriptManager。

                                                               页面呈现效果

三、操作

     一、为报表设置跳转链接

               可以设置固定的跳转链接,例如这里的就是跳转到百度。设置文本框属性->操作->表达式->fx->赋值。同时这里为了更有链接的效果设置了字体的颜色为蓝色

             

                 

                   设置活动的路径,比如本地虚拟路径。首先在ReportViewer页面的后台为Reportviewer的可链接属性为true,然后将路径参数赋值给VirtualPath参数。在rdlc的Xml文件中添加参数,最后在报表的操作中使用表达式进行跳转

    

     二、字符串的连接

       报表中使用  &   来进行字符串的连接            例如这里:=Parameters!VirtualPath.Value & "WebForm2.aspx"   就是将本地路径字符串与"WebForm2.aspx"连接成一个路径字符串用于跳转       

     三、报表表达式的书写

        

 四、报表打印文档类型的限制

                  ReportViewer提供了三种报表的输出(PDF,word,excel) , 有时候需要限制报表的输出文档的类型。可以在ReportViewer1_PreRender事件中添加如下代码(这里限制了输出的文档类型为PDF)

protected void ReportViewer1_PreRender(object sender, EventArgs e)
        {
            RenderingExtension[] resut = ReportViewer1.LocalReport.ListRenderingExtensions();
            foreach (RenderingExtension item in ReportViewer1.LocalReport.ListRenderingExtensions())
            {
                // item 具有Visable属性,但是这个属性是只读属性,不能修改,所以通过反射进行了修改
                if (item.Name.ToUpper() == "EXCEL")
                {
                    // bu显示excel2003格式导出按钮
                    FieldInfo fi = item.GetType().GetField("m_isVisible", BindingFlags.Instance | BindingFlags.NonPublic);
                    fi.SetValue(item, false);
                }
                if (item.Name.ToUpper() == "WORD")
                {
                    // bu显示word2003导出按钮
                    FieldInfo fi = item.GetType().GetField("m_isVisible", BindingFlags.Instance | BindingFlags.NonPublic);
                    fi.SetValue(item, false);
                }
                if (item.Name.ToUpper() == "PDF")
                {
                    // 显示PDF版本的格式
                    FieldInfo fi = item.GetType().GetField("m_isVisible", BindingFlags.Instance | BindingFlags.NonPublic);
                    fi.SetValue(item, true);
                }
            }
        }

       

  这是我尝试的简单的报表实例(网盘链接)

 

 

 

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值