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;
        }
Exemple #3
0
        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();
            }
        }