zoukankan      html  css  js  c++  java
  • ReportView 如何实现按页码控制报表对象的显示属性

    1. 业务要求

    某电厂要求实现如下格式报表:

    在多页报表中,第一页需要显示操作时间,终了时间,操作任务。如下图所所示:

    clip_image002

    第二页以后(包括第二页)不需要显示操作时间,终了时间,操作任务统一显示为上呈第一页。如下图所示:

    clip_image004

    2实现思路:

    2.1在ReportView的翻页事件想办法:

    (1)先做两张不同的报表,分别为符合第一页格式的报表1与符合第二页以后的报表格式2.

    (2)在报表的翻页事件中进行判断,如果当前页码是第一页,那么载入报表1;如果不是第一页,那么就在如报表2

    结论:这种方法实现后的效果是,报表web页预览时一切正常,然而在报表插件中预览与打印,都会呈现一种报表,要么是报表1,要么是报表2,(具体是那个报表,由在web页面单击打印时载入的报表决定)。要解决报表插件中的预览与打印,在插件中想办法,几乎不可能,插件在服务器端不可能被编程控制。所以这种方法的尝试到此为止。

    2.2在报表文件中想办法:

    (1)把所有需要在第一页显示,而不需要在第二页显示的报表字段,线等报表对象都列出来。

    (2)在在对象的Visibility中的hidden中写入如下的visual basic 表达式:

    =Iif(Globals.PageNumber.Equals(1),False,True)

    如果报表的当前页码是第一页,那么报表对象的隐藏属性为False,否则隐藏属性为True

    结论:web页预览与插件预览都正常,打印也正常。

    所以对于Reportviewer中的报表对象的控制,主要应该在rdtc文件中想办法,而不是在.cs文件中想办法。

  • 相关阅读:
    验证码生成程序
    会话技术Cookie&Session
    jsp基础、el技术、jstl标签、javaEE的开发模式
    js原生的Ajax
    java基础-反射
    hibernate 联合主键 composite-id
    在ubuntu18 安装nginx过程,以及遇到的错误!
    报错解决:error: this statement may fall through [-Werror=implicit-fallthrough=]
    nginx.conf中关于nginx-rtmp-module配置指令详解
    搭建Nginx+nginx-rtmp-module的hls流媒体服务器并用OBS进行推流
  • 原文地址:https://www.cnblogs.com/hbb0b0/p/1409592.html
Copyright © 2011-2022 走看看