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

Posted freeliver54

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[转]简单的动态修改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

 

以上是关于[转]简单的动态修改RDLC报表页边距和列宽的方法的主要内容,如果未能解决你的问题,请参考以下文章

如何制作具有固定列宽的 chrome 尊重表

Excel快速删除空白行与调整行高列宽的方法,学会了很实用

RDLC总结

RDLC报表之动态生成报表

C# datagridview 怎样动态设置列宽的值

Visual Studio 2010 RDLC 报表简单使用