internal void SortSEScopes(ReportProcessing.ProcessingContext processingContext, TextBox eventSource)
 {
     m_sortTree = new ReportProcessing.BTreeNode(this);
     for (int i = 0; i < m_scopeInstances.Count; i++)
     {
         ReportProcessing.RuntimeDataRegionObj runtimeDataRegionObj = m_scopeInstances[i];
         m_currentScopeInstanceIndex = i;
         runtimeDataRegionObj.SetupEnvironment();
         m_sortTree.NextRow(processingContext.ReportRuntime.EvaluateUserSortExpression(eventSource));
     }
 }
        internal void RegisterSortFilterExpressionScope(ref int containerSortFilterExprScopeIndex, ReportProcessing.RuntimeDataRegionObj scopeObj, VariantList[] scopeValues, int sortFilterInfoIndex)
        {
            if (m_eventTarget != null && !m_targetSortFilterInfoAdded)
            {
                m_eventTarget.AddSortInfoIndex(sortFilterInfoIndex, this);
            }
            SortFilterExpressionScopeObj sortFilterExpressionScopeObj;

            if (-1 != containerSortFilterExprScopeIndex)
            {
                sortFilterExpressionScopeObj = (SortFilterExpressionScopeObj)m_sortFilterExpressionScopeObjects[containerSortFilterExprScopeIndex];
            }
            else
            {
                if (m_sortFilterExpressionScopeObjects == null)
                {
                    m_sortFilterExpressionScopeObjects = new ArrayList();
                }
                containerSortFilterExprScopeIndex = m_sortFilterExpressionScopeObjects.Count;
                sortFilterExpressionScopeObj      = new SortFilterExpressionScopeObj(this);
                m_sortFilterExpressionScopeObjects.Add(sortFilterExpressionScopeObj);
            }
            sortFilterExpressionScopeObj.RegisterScopeInstance(scopeObj, scopeValues);
        }
        internal void RegisterSortFilterExpressionScope(ReportProcessing.IScope container, ReportProcessing.RuntimeDataRegionObj scopeObj, bool[] isSortFilterExpressionScope)
        {
            RuntimeSortFilterEventInfoList runtimeSortFilterInfo = m_runtimeSortFilterInfo;

            if (runtimeSortFilterInfo == null || isSortFilterExpressionScope == null || scopeObj == null)
            {
                return;
            }
            VariantList[] array = null;
            for (int i = 0; i < runtimeSortFilterInfo.Count; i++)
            {
                if (isSortFilterExpressionScope[i] && scopeObj.IsTargetForSort(i, detailSort: false) && scopeObj.TargetScopeMatched(i, detailSort: false))
                {
                    if (array == null && runtimeSortFilterInfo[i].EventSource.UserSort.GroupsInSortTarget != null)
                    {
                        int index = 0;
                        array = new VariantList[runtimeSortFilterInfo[i].EventSource.UserSort.GroupsInSortTarget.Count];
                        scopeObj.GetScopeValues(runtimeSortFilterInfo[i].EventTarget, array, ref index);
                    }
                    runtimeSortFilterInfo[i].RegisterSortFilterExpressionScope(ref container.SortFilterExpressionScopeInfoIndices[i], scopeObj, array, i);
                }
            }
        }
 internal void RegisterScopeInstance(ReportProcessing.RuntimeDataRegionObj scopeObj, VariantList[] scopeValues)
 {
     m_scopeInstances.Add(scopeObj);
     m_scopeValuesList.Add(scopeValues);
 }
Esempio n. 5
0
        public void RegisterSortFilterExpressionScope(ReportProcessing.IScope container, ReportProcessing.RuntimeDataRegionObj scopeObj, bool[] isSortFilterExpressionScope)
        {
            RuntimeSortFilterEventInfoList runtimeSortFilterInfo = this.m_runtimeSortFilterInfo;

            if (runtimeSortFilterInfo != null && isSortFilterExpressionScope != null && scopeObj != null)
            {
                VariantList[] array = null;
                for (int i = 0; i < runtimeSortFilterInfo.Count; i++)
                {
                    if (isSortFilterExpressionScope[i] && scopeObj.IsTargetForSort(i, false) && scopeObj.TargetScopeMatched(i, false))
                    {
                        if (array == null && runtimeSortFilterInfo[i].EventSource.UserSort.GroupsInSortTarget != null)
                        {
                            int num = 0;
                            array = new VariantList[runtimeSortFilterInfo[i].EventSource.UserSort.GroupsInSortTarget.Count];
                            scopeObj.GetScopeValues(runtimeSortFilterInfo[i].EventTarget, array, ref num);
                        }
                        runtimeSortFilterInfo[i].RegisterSortFilterExpressionScope(ref container.SortFilterExpressionScopeInfoIndices[i], scopeObj, array, i);
                    }
                }
            }
        }