savereportvisitor.cs
来自「SharpDevelop2.0.0 c#开发免费工具」· CS 代码 · 共 72 行
CS
72 行
/*
* Created by SharpDevelop.
* User: Forstmeier Helmut
* Date: 02.12.2004
* Time: 22:19
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.Xml;
using SharpReportCore;
using SharpReport.Designer;
using System.Windows.Forms;
namespace SharpReport.Visitors{
/// <summary>
/// Description of SaveReportVisitor.
/// </summary>
public class SaveReportVisitor :SharpReportCore.AbstractModelVisitor
{
private XmlDocument xmlDoc;
private SharpReport.Designer.BaseDesignerControl baseDesigner;
public SaveReportVisitor ():base(String.Empty) {
}
public override void Visit (Control designer) {
this.baseDesigner = designer as SharpReport.Designer.BaseDesignerControl;
if (this.baseDesigner == null) {
throw new ArgumentException("designer");
}
xmlDoc = this.BuildReportDocument(baseDesigner);
}
private XmlDocument BuildReportDocument (SharpReport.Designer.BaseDesignerControl designer) {
XmlDocument xmlDoc = SharpReportCore.XmlHelper.BuildXmlDocument ();
XmlElement root = xmlDoc.CreateElement (SharpReportCore.GlobalValues.SharpReportString);
xmlDoc.AppendChild(root);
XmlDocument docSetting = designer.ReportModel.ReportSettings.GetXmlData();
XmlNode nodeSetting = xmlDoc.ImportNode (docSetting.SelectSingleNode("Sections"),true);
xmlDoc.DocumentElement.AppendChild (nodeSetting.LastChild);
//Loop over all Sections
foreach(ReportSection section in designer.SectionsCollection){
section.Items.SortByLocation();
XmlDocument dd = section.GetXmlData();
XmlNode n = xmlDoc.ImportNode (dd.SelectSingleNode("Sections"),true);
xmlDoc.DocumentElement.AppendChild (n.LastChild);
}
return xmlDoc;
}
public XmlDocument XmlDocument {
get {
return xmlDoc;
}
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?