public override void CreateDomainScopeMember(ReportHierarchyNode parentNode, Grouping grouping, AutomaticSubtotalContext context) { GaugeMember gaugeMember = new GaugeMember(context.GenerateID(), this); gaugeMember.Grouping = grouping.CloneForDomainScope(context, gaugeMember); HierarchyNodeList hierarchyNodeList = (parentNode != null) ? parentNode.InnerHierarchy : ColumnMembers; if (hierarchyNodeList != null) { hierarchyNodeList.Add(gaugeMember); gaugeMember.IsColumn = true; GaugeRow.Cells.Insert(ColumnMembers.GetMemberIndex(gaugeMember), new GaugeCell(context.GenerateID(), this)); base.ColumnCount++; } }
private void FindLeafNodes(List <ReportHierarchyNode> leafNodes) { for (int i = 0; i < base.Count; i++) { ReportHierarchyNode reportHierarchyNode = this[i]; HierarchyNodeList innerHierarchy = reportHierarchyNode.InnerHierarchy; if (innerHierarchy == null) { leafNodes.Add(reportHierarchyNode); } else { innerHierarchy.FindLeafNodes(leafNodes); } } }
private static void CalculateLeafCellIndexes(HierarchyNodeList nodes, ref List <int> leafCellIndexes, int excludedCellIndex) { if (leafCellIndexes != null) { return; } int count = nodes.Count; leafCellIndexes = new List <int>(count); for (int i = 0; i < count; i++) { ReportHierarchyNode reportHierarchyNode = nodes[i]; if (reportHierarchyNode.InnerHierarchy == null && reportHierarchyNode.MemberCellIndex != excludedCellIndex) { leafCellIndexes.Add(reportHierarchyNode.MemberCellIndex); } } }
private static bool CalculateDependencies(HierarchyNodeList members, HierarchyNodeList staticMembersInSameScope, HierarchyNodeList dynamicMembers) { if (members == null) { return(false); } bool flag = false; _ = members.Count; foreach (ReportHierarchyNode member in members) { if (!member.IsStatic) { dynamicMembers.Add(member); continue; } staticMembersInSameScope.Add(member); flag = (member.InnerHierarchy == null || (flag | CalculateDependencies(member.InnerHierarchy, staticMembersInSameScope, dynamicMembers))); } return(flag); }
private void CalculateDependencies() { m_staticMembersInSameScope = new HierarchyNodeList(); m_dynamicMembersAtScope = new HierarchyNodeList(); m_hasStaticLeafMembers = CalculateDependencies(this, m_staticMembersInSameScope, m_dynamicMembersAtScope); }