internal ColumnGroupings(ReportDefn r, ReportLink p, XmlNode xNode) : base(r, p) { ColumnGrouping g; _Items = new List<ColumnGrouping>(); // Loop thru all the child nodes foreach(XmlNode xNodeLoop in xNode.ChildNodes) { if (xNodeLoop.NodeType != XmlNodeType.Element) continue; switch (xNodeLoop.Name) { case "ColumnGrouping": g = new ColumnGrouping(r, this, xNodeLoop); break; default: g=null; // don't know what this is // don't know this element - log it OwnerReport.rl.LogError(4, "Unknown ColumnGroupings element '" + xNodeLoop.Name + "' ignored."); break; } if (g != null) _Items.Add(g); } if (_Items.Count == 0) OwnerReport.rl.LogError(8, "For ColumnGroups at least one ColumnGrouping is required."); else { _Items.TrimExcess(); _StaticCount = GetStaticCount(); } }
Rows _Data; // set dynamically when needed internal MatrixEntry(Row r, string hash, MatrixEntry p, int rowCount) { _r = r; _hash = hash; _HashData = new Dictionary <string, MatrixEntry>(); _ColumnGroup = null; _RowGroup = null; _SortedData = null; _Data = null; _rowCount = rowCount; _Rows = null; _Parent = p; _FirstRow = -1; _LastRow = -1; }
internal ColumnGroupings(ReportDefn r, ReportLink p, XmlNode xNode) : base(r, p) { ColumnGrouping g; _Items = new List <ColumnGrouping>(); // Loop thru all the child nodes foreach (XmlNode xNodeLoop in xNode.ChildNodes) { if (xNodeLoop.NodeType != XmlNodeType.Element) { continue; } switch (xNodeLoop.Name) { case "ColumnGrouping": g = new ColumnGrouping(r, this, xNodeLoop); break; default: g = null; // don't know what this is // don't know this element - log it OwnerReport.rl.LogError(4, "Unknown ColumnGroupings element '" + xNodeLoop.Name + "' ignored."); break; } if (g != null) { _Items.Add(g); } } if (_Items.Count == 0) { OwnerReport.rl.LogError(8, "For ColumnGroups at least one ColumnGrouping is required."); } else { _Items.TrimExcess(); _StaticCount = GetStaticCount(); } }