public TableDetailRowCollection this[int index]
 {
     get
     {
         if (index >= 0 && index < this.Count)
         {
             TableDetailRowCollection tableDetailRowCollection = null;
             if (index == 0)
             {
                 tableDetailRowCollection = this.m_firstRows;
             }
             else if (this.m_rows != null)
             {
                 tableDetailRowCollection = this.m_rows[index - 1];
             }
             if (tableDetailRowCollection == null)
             {
                 TableRowInstance[]  rowInstances        = null;
                 TableDetailInstance tableDetailInstance = null;
                 if (this.m_detailInstances != null && index < this.m_detailInstances.Count)
                 {
                     tableDetailInstance = this.m_detailInstances[index];
                     rowInstances        = tableDetailInstance.DetailRowInstances;
                 }
                 else
                 {
                     Global.Tracer.Assert(this.m_detailInstances == null || 0 == this.m_detailInstances.Count);
                 }
                 tableDetailRowCollection = new TableDetailRowCollection(this.m_owner, this.m_detailDef.DetailRows, rowInstances, tableDetailInstance);
                 if (this.m_owner.RenderingContext.CacheState)
                 {
                     if (index == 0)
                     {
                         this.m_firstRows = tableDetailRowCollection;
                     }
                     else
                     {
                         if (this.m_rows == null)
                         {
                             this.m_rows = new TableDetailRowCollection[this.m_detailInstances.Count - 1];
                         }
                         this.m_rows[index - 1] = tableDetailRowCollection;
                     }
                 }
             }
             return(tableDetailRowCollection);
         }
         throw new RenderingObjectModelException(ProcessingErrorCode.rsInvalidParameterRange, index, 0, this.Count);
     }
 }
Пример #2
0
 public TableDetailRow(Table owner, AspNetCore.ReportingServices.ReportProcessing.TableRow rowDef, TableRowInstance rowInstance, TableDetailRowCollection detail)
     : base(owner, rowDef, rowInstance)
 {
     this.m_detail = detail;
 }