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++;
            }
        }
示例#2
0
 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);
         }
     }
 }
示例#3
0
        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);
                }
            }
        }
示例#4
0
        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);
        }
示例#5
0
 private void CalculateDependencies()
 {
     m_staticMembersInSameScope = new HierarchyNodeList();
     m_dynamicMembersAtScope    = new HierarchyNodeList();
     m_hasStaticLeafMembers     = CalculateDependencies(this, m_staticMembersInSameScope, m_dynamicMembersAtScope);
 }