当前位置: 首页 > news >正文

ReportViewer:隐藏和GetDefaultPageSettings

隐藏reportitem

1.报表中添加参数, Boolean TblInvoice

2.程序添加参数

Microsoft.Reporting.WinForms.ReportParameter[] parameters = new Microsoft.Reporting.WinForms.ReportParameter[1];
parameters[0] = new Microsoft.Reporting.WinForms.ReportParameter("TblInvoice", Boolean.TrueString);

3设计报表

选中要控制是否显示的控件,鼠标右键=>属性=>Visibility=>Initial Visibility=>选择Expression=>=CBool(Parameters!TblInvoice.Value)

即可!

注意:表达式的写法CBool(Parameters!TblInvoice.Value),必须使用CBool转换否则可能不正确!


GetDefaultPageSettings

这是LocalReport的方法,可是他获得却不是rdlc里面的pageWidthpageheight设置,感觉没啥大用。

使用下面的方法读取RDLC里面的PageWidth等等属性

代码如下:

/// <summary>
/// 从RDLC文件读取文件
/// </summary>
public bool ReadPageSettingsFromRDLC()
{
if (string.IsNullOrEmpty(this.m_localReport.ReportPath))
{
return false;
}

StringBuilder sbzzm = new StringBuilder();

sbzzm.Append("<DeviceInfo> <OutputFormat>EMF</OutputFormat> ");

XmlReader xmlReader = XmlReader.Create(this.m_localReport.ReportPath);

ReadElementString(xmlReader, "PageWidth", "8.5in", "PageWidth", sbzzm);
ReadElementString(xmlReader, "PageHeight", "11in", "PageHeight", sbzzm);
ReadElementString(xmlReader, "TopMargin", "0cm", "MarginTop", sbzzm);
ReadElementString(xmlReader, "LeftMargin", "0cm", "MarginLeft", sbzzm);
ReadElementString(xmlReader, "RightMargin", "0cm", "MarginRight", sbzzm);
ReadElementString(xmlReader, "BottomMargin", "0cm", "MarginBottom", sbzzm);

sbzzm.Append("</DeviceInfo>");


m_szDeviceInfo = sbzzm.ToString();

xmlReader.Close();

return true;
}

private void ReadElementString(XmlReader xmlReader, string elementname, string defstring, string nodename, StringBuilder sbzzm)
{
string tempString;

sbzzm.Append(" <");
sbzzm.Append(nodename);
sbzzm.Append(">");

if (xmlReader.ReadToFollowing(elementname))
{
tempString = xmlReader.ReadElementString(elementname);
if (string.IsNullOrEmpty(tempString))
{
sbzzm.Append(defstring);
}
else
{
sbzzm.Append(tempString);
}
}
else
{
sbzzm.Append(defstring);
}

sbzzm.Append("</");
sbzzm.Append(nodename);
sbzzm.Append(">");
}

相关文章:

  • ETL总结(扫盲版)
  • sql server 内置MD5加密函数
  • POJ 1011 Sticks 强大的剪枝
  • 2018/3/20 noip模拟赛 5分
  • windows2003 with OpenSSH
  • java和c#通过esb服务互调用组件
  • 4、自定义cookieHandler发送请求
  • python 魔法方法补充(__setattr__,__getattr__,__getattribute__)
  • /*在DataTable中更新、删除数据*/
  • A* 简介(Amit's A star Page中译文)
  • 文本挖掘的基本过程
  • python web开发-flask读取txt文件内容
  • (C#)获取字符编码的类
  • codefroces 911G Mass Change Queries
  • Chrome浏览器几个好用的插件
  • IE9 : DOM Exception: INVALID_CHARACTER_ERR (5)
  • ComponentOne 2017 V2版本正式发布
  • FineReport中如何实现自动滚屏效果
  • JS基础篇--通过JS生成由字母与数字组合的随机字符串
  • opencv python Meanshift 和 Camshift
  • react 代码优化(一) ——事件处理
  • Sequelize 中文文档 v4 - Getting started - 入门
  • 不用申请服务号就可以开发微信支付/支付宝/QQ钱包支付!附:直接可用的代码+demo...
  • 大整数乘法-表格法
  • 给第三方使用接口的 URL 签名实现
  • 关于 Cirru Editor 存储格式
  • 什么软件可以剪辑音乐?
  • 收藏好这篇,别再只说“数据劫持”了
  • 数据可视化之下发图实践
  • # 20155222 2016-2017-2 《Java程序设计》第5周学习总结
  • #我与Java虚拟机的故事#连载15:完整阅读的第一本技术书籍
  • $forceUpdate()函数
  • (3)(3.5) 遥测无线电区域条例
  • (C语言)输入自定义个数的整数,打印出最大值和最小值
  • (亲测)设​置​m​y​e​c​l​i​p​s​e​打​开​默​认​工​作​空​间...
  • (十五)devops持续集成开发——jenkins流水线构建策略配置及触发器的使用
  • (学习日记)2024.01.09
  • (转) Android中ViewStub组件使用
  • (转)Unity3DUnity3D在android下调试
  • .net core MVC 通过 Filters 过滤器拦截请求及响应内容
  • .net和php怎么连接,php和apache之间如何连接
  • .NET开源全面方便的第三方登录组件集合 - MrHuo.OAuth
  • []常用AT命令解释()
  • [APIO2015]巴厘岛的雕塑
  • [BPU部署教程] 教你搞定YOLOV5部署 (版本: 6.2)
  • [C++]打开新世界的大门之C++入门
  • [Django 0-1] Core.Checks 模块
  • [hdu 1247]Hat’s Words [Trie 图]
  • [JavaEE]线程的状态与安全
  • [jobdu]不用加减乘除做加法
  • [Linux]使用CentOS镜像与rpm来安装虚拟机软件
  • [MSSQL]GROUPING SETS,ROLLUP,CUBE初体验
  • [Step By Step]SAP HANA中创建层次分析视图(Hierarchy Analytic View)
  • [TLSR8266] 1、搭建tlsr8266编译框架在win服务器中
  • [Windows编程] 如何判断操作系统是64位还是32位