[转]简单的动态修改RDLC报表页边距和列宽的方法

本文转自:http://star704983.blog.163.com/blog/static/136661264201161604413204/

1.修改页边距

XmlDocument XMLDoc = new XmlDocument();

XMLDoc.Load(System.Windows.Forms.Application.StartupPath + @"\Report_try-2.rdlc");

XmlNamespaceManager xmn = new XmlNamespaceManager(XMLDoc.NameTable);

xmn.AddNamespace("X", "http://schemas.microsoft.com/sqlserver/reporting/2008/01/reportdefinition");

string strXPath;

strXPath = "/X:Report/X:Page/X:LeftMargin";

XmlNode Node = XMLDoc.SelectSingleNode(strXPath, xmn).ChildNodes.Item(0);     // 读取左边距

Node.InnerText = "20mm";      // 左边距改为20mm

XMLDoc.Save(System.Windows.Forms.Application.StartupPath + @"\Report_try-2.rdlc");  // 写XML

修改右、上、下边距方法和上述方法一样,只需要更改 strXPath = "/X:Report/X:Page/X:LeftMargin";

2.修改表格列宽

XmlDocument XMLDoc = new XmlDocument();

XMLDoc.Load(System.Windows.Forms.Application.StartupPath + @"\Report_try-2.rdlc");

XmlNamespaceManager xmn = new XmlNamespaceManager(XMLDoc.NameTable);

xmn.AddNamespace("X", "http://schemas.microsoft.com/sqlserver/reporting/2008/01/reportdefinition");

string strXPath;

strXPath = "/X:Report/X:Body/X:ReportItems/X:Tablix/X:TablixBody";

XmlNodeList NDList = XMLDoc.SelectSingleNode(strXPath, xmn).ChildNodes;

XmlNode subNode = NDList.Item(0);

/*

subNode.ChildNodes.Count即为报表列数

subNode.ChildNodes.Item(X).innerText即为第X列的列宽,X下标从0开始

*/

subNode.ChildNodes.Item(0).InnerText = "20mm";     // 修改第一列列宽为20mm

XMLDoc.Save(System.Windows.Forms.Application.StartupPath + @"\Report_try-2.rdlc");  // 写XML

原文地址:https://www.cnblogs.com/freeliver54/p/9599253.html

时间: 2024-08-29 18:35:53

[转]简单的动态修改RDLC报表页边距和列宽的方法的相关文章

Java 项目中一种简单的动态修改配置即时生效的方式 WatchService

文章来源:https://www.cnblogs.com/fengzheng/p/9212155.html 这种方式仅适合于比较小的项目,例如只有一两台服务器,而且配置文件是可以直接修改的.例如 Spring mvc 以 war 包的形式部署,可以直接修改resources 中的配置文件.如果是 Spring boot 项目,还想用这种方式的话,就要引用一个外部可以编辑的文件,比如一个固定的目录,因为 spring boot 大多数以 jar 包部署,打到包里的配置文件没办法直接修改.如果是比较

利用General框架开发RDLC报表

RDLC是微软推出的自家的报表软件,虽然没有一些第三方的报表软件强大好用,但是作为VisualStudio集成的报表工具,在客户要求不高的情况下还是非常值得一用的,本文将介绍通过General代码生成器和General框架快速的开发一个报表程序. 第一步.生成RDLC报表文件 传统的开发方式是通过VisualStudio创建RDLC报表文件,但这种方式效率很慢,不适合大量报表开发,而通过General代码生成器可以快速的大量生成报表格式,大大提高开发效率,并且生成的报表文件可以在VisualSt

Rdlc报表出现空白页解决方法(转)

在使用RDLC报表时,碰到这种情况:当只有一页数据时,报表确显示两页,第二页除了报表头之外数据为空.然后,当有多页数据时,最后一页为空. 这个问题很奇怪,网上有很多解决方案,以下的方法可以解决此问题. 方法一:设置报表的属性 ConsumeConteinerWhitespace = True 第一种方法具体操作: 1,选中要修改的报表按F4 ,将下拉框中的[主体]换选中[报表] 2,选择[报表]后就出现了ConsumeConteinerWhitespace 的属性,默认是false,改成True

RDLC报表钻取空白页问题

在修改报表查询条件时,钻取页突然空白了,百思不得其解,之前好好的,研究了一个下午和一个晚上,查资料等等,网上很多资料都是设置报表的 ConsumeConteinerWhitespace = True 以及设置BODY的大小不能大于报表的SIZE,问同事,说是报表参数过多,正准备修改成一个参数,但是在删除参数时,想到之前刚做钻取时,因为参数不对所以显示不出来,设置了允许空和允许NULL,才显示出来数据,一查,有个新增参数果然没设,设了之后立即显示出来了,大意了,这种小问题,特记下来,以后认真对待问

Visual Studio 2010 RDLC 报表简单使用

原文:Visual Studio 2010 RDLC 报表简单使用 RDLC(Report Definition Language Client-side Processing)是Visual Studio 2010提供的报表工具,介绍一下它的简单使用方法. 1.新建一个Windows 窗体应用程序. 2.数据 — 添加新数据源: 选择数据源类型为"数据库": 这里我们选择Microsoft SQL Server: 添加服务器名,并选择需要的数据库: 选择数据源表: 2.添加并设计报表

RDLC报表之动态生成报表

首先,必须感谢和致敬蜡人张前辈: http://waxdoll.cnblogs.com/archive/2006/02/25/337713.html 2.微软GotReportViewer官方的案例: http://www.gotreportviewer.com/(约有20来个,很详细.有时候会上不了) ) 前段时间,做了RDLC报表,主要是三块功能: 1.从DataGrid提取数据,然后创建对应的RDLC报表文件,以利用ReportViewer类的打印排版的功能(其中做了个提取数据的通用函数,

RDLC报表:每页显示N条记录

摘要: 提供一种方案,使分页浏览的报表每页显示固定条数记录,最后一页记录条数不足的,用空行补齐. 示例: 记录共7条,每页显示5条记录: 下载代码(vs2008,需要安装AdventureWorks数据库) 下载代码(vs2008,不需要数据库支持) 下载代码(仅rdlc报表定义文件) 原理: 由于表的分组包含“在起始处分页”和”在结束处分页”的功能,所以我们考虑先将数据分成若干个记录条数为N的组, 再启用“在结束处分页”的功能. 那么,如何分组呢?考虑记录的下标为 0,1,2,3... 的自然

RDLC报表系列(四) 简单的图表

继续接上一篇的内容,本文主要是讲图标的内容,本文就是简单的图标,复杂的柱状图和折线图在下一文章中介绍. 数据源还是上文RDLC报表系列(四) 矩阵中的相同 1.还是继续使用demo2的文件

集算报表用Java动态修改报表数据源

实际应用中通过程序动态修改报表模板的情况很常见,其中动态修改数据源SQL就是一种典型场景.常见于系统中有一些结构相同而数据源不同的报表,为减少报表开发工作量,只开发一套报表模板,使用时通过程序动态修改数据源来满足实际需要. 下面通过一个使用JAVA程序修改集算报表数据源SQL的例子说明使用过程. 编辑报表模板: 由于不同数据源的字段不同,因此这里使用动态表达式ds1.fname()获取字段名,ds1.field()获取字段值.此外,第一行和第一列为辅助行列,设置其隐藏. 编写代码: 1.读入报表