ReportDefn _ReportDefn; // loaded report definition internal Subreport(ReportDefn r, ReportLink p, XmlNode xNode) : base(r, p, xNode) { _ReportName = null; _Parameters = null; _NoRows = null; _MergeTransactions = true; // Loop thru all the child nodes foreach (XmlNode xNodeLoop in xNode.ChildNodes) { if (xNodeLoop.NodeType != XmlNodeType.Element) { continue; } switch (xNodeLoop.Name) { case "ReportName": _ReportName = xNodeLoop.InnerText; break; case "Parameters": _Parameters = new SubReportParameters(r, this, xNodeLoop); break; case "NoRows": _NoRows = new Expression(r, this, xNodeLoop, ExpressionType.String); break; case "MergeTransactions": _MergeTransactions = XmlUtil.Boolean(xNodeLoop.InnerText, OwnerReport.rl); break; default: if (ReportItemElement(xNodeLoop)) // try at ReportItem level { break; } // don't know this element - log it OwnerReport.rl.LogError(4, "Unknown Image element " + xNodeLoop.Name + " ignored."); break; } } if (_ReportName == null) { OwnerReport.rl.LogError(8, "Subreport requires the ReportName element."); } OwnerReport.ContainsSubreport = true; // owner report contains a subreport }
string _ReportName; // The full path (e.g. “/salesreports/orderdetails”) or #endregion Fields #region Constructors internal Subreport(ReportDefn r, ReportLink p, XmlNode xNode) : base(r, p, xNode) { _ReportName=null; _Parameters=null; _NoRows=null; _MergeTransactions=true; // Loop thru all the child nodes foreach(XmlNode xNodeLoop in xNode.ChildNodes) { if (xNodeLoop.NodeType != XmlNodeType.Element) continue; switch (xNodeLoop.Name) { case "ReportName": _ReportName = xNodeLoop.InnerText; break; case "Parameters": _Parameters = new SubReportParameters(r, this, xNodeLoop); break; case "NoRows": _NoRows = new Expression(r, this, xNodeLoop, ExpressionType.String); break; case "MergeTransactions": _MergeTransactions = XmlUtil.Boolean(xNodeLoop.InnerText, OwnerReport.rl); break; default: if (ReportItemElement(xNodeLoop)) // try at ReportItem level break; // don't know this element - log it OwnerReport.rl.LogError(4, "Unknown Image element " + xNodeLoop.Name + " ignored."); break; } } if (_ReportName == null) OwnerReport.rl.LogError(8, "Subreport requires the ReportName element."); OwnerReport.ContainsSubreport = true; // owner report contains a subreport }