예제 #1
0
 internal void UpdateSubReportScopes(UserSortFilterContext context)
 {
     if (m_containingScopes != null && 0 < m_containingScopes.Count && m_containingScopes.LastEntry == null)
     {
         if (context.DetailScopeSubReports != null)
         {
             m_detailScopeSubReports = context.DetailScopeSubReports.Clone();
         }
         else
         {
             m_detailScopeSubReports = new SubReportList();
         }
         m_detailScopeSubReports.Add(this);
     }
     else
     {
         m_detailScopeSubReports = context.DetailScopeSubReports;
     }
     if (context.ContainingScopes != null)
     {
         if (m_containingScopes != null && 0 < m_containingScopes.Count)
         {
             m_containingScopes.InsertRange(0, context.ContainingScopes);
         }
         else
         {
             m_containingScopes = context.ContainingScopes;
         }
     }
 }
 internal void UpdateContextFromDataSet(UserSortFilterContext dataSetContext)
 {
     if (-1 == m_dataSetID)
     {
         m_dataSetID             = dataSetContext.DataSetID;
         m_runtimeSortFilterInfo = dataSetContext.RuntimeSortFilterInfo;
     }
 }
 internal UserSortFilterContext(UserSortFilterContext parentContext, SubReport subReport)
 {
     m_runtimeSortFilterInfo  = parentContext.RuntimeSortFilterInfo;
     m_dataSetID              = parentContext.DataSetID;
     m_containingScopes       = subReport.ContainingScopes;
     m_detailScopeSubReports  = subReport.DetailScopeSubReports;
     m_inProcessUserSortPhase = parentContext.m_inProcessUserSortPhase;
 }
 internal UserSortFilterContext(UserSortFilterContext copy)
 {
     m_runtimeSortFilterInfo  = copy.RuntimeSortFilterInfo;
     m_currentContainingScope = copy.CurrentContainingScope;
     m_containingScopes       = copy.ContainingScopes;
     m_dataSetID              = copy.DataSetID;
     m_detailScopeSubReports  = copy.DetailScopeSubReports;
     m_inProcessUserSortPhase = copy.m_inProcessUserSortPhase;
 }