码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2018-09-06 18:11:07      阅读:152      评论:0      收藏:0      [点我收藏+]

标签:body   get   window   xpath   app   com   for   报表   manage   

本文转自: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报表页边距和列宽的方法

标签:body   get   window   xpath   app   com   for   报表   manage   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!