コード例 #1
0
        public int ProcessDocumentMapNavigationEvent(Microsoft.ReportingServices.OnDemandReportRendering.Report report, string documentMapId)
        {
            if (!report.HasDocumentMap)
            {
                return(0);
            }
            if (documentMapId == null)
            {
                return(0);
            }
            int  lastPageCollected = 0;
            bool reportDone        = false;
            int  num = InteractivityChunks.FindDocumentMapLabel(report, documentMapId, ref lastPageCollected, ref reportDone);

            if (!reportDone && num == 0)
            {
                using (SPBProcessing sPBProcessing = new SPBProcessing(report, 0, needTotalPages: false))
                {
                    sPBProcessing.CanTracePagination = true;
                    sPBProcessing.SetContext(new SPBContext(0, 0, addToggledItems: true));
                    return(sPBProcessing.FindDocumentMap(documentMapId, lastPageCollected));
                }
            }
            return(num);
        }
コード例 #2
0
        public int ProcessBookmarkNavigationEvent(Microsoft.ReportingServices.OnDemandReportRendering.Report report, int totalPages, string bookmarkId, out string uniqueName)
        {
            uniqueName = null;
            if (!report.HasBookmarks)
            {
                return(0);
            }
            if (bookmarkId == null)
            {
                return(0);
            }
            int  lastPageCollected = 0;
            bool reportDone        = false;
            int  num = InteractivityChunks.FindBoomark(report, bookmarkId, ref uniqueName, ref lastPageCollected, ref reportDone);

            if (!reportDone && num == 0)
            {
                using (SPBProcessing sPBProcessing = new SPBProcessing(report, totalPages, needTotalPages: true))
                {
                    sPBProcessing.CanTracePagination = true;
                    sPBProcessing.SetContext(new SPBContext(0, 0, addToggledItems: true));
                    return(sPBProcessing.FindBookmark(bookmarkId, lastPageCollected, ref uniqueName));
                }
            }
            return(num);
        }
コード例 #3
0
 internal void LoadLabelsChunk()
 {
     if (!m_chunksLoaded && !m_labelsChunkLoaded)
     {
         m_labelsChunkLoaded = true;
         if (m_report.HasDocumentMap)
         {
             m_labels = InteractivityChunks.GetLabelsStream(m_report, 1);
         }
     }
 }
コード例 #4
0
 internal void LoadInteractiveChunks(int page)
 {
     if (!m_chunksLoaded)
     {
         m_chunksLoaded = true;
         if (m_report.HasBookmarks)
         {
             m_bookmarks = InteractivityChunks.GetBookmarksStream(m_report, page);
         }
         if (!m_labelsChunkLoaded && m_report.HasDocumentMap)
         {
             m_labels = InteractivityChunks.GetLabelsStream(m_report, page);
         }
     }
 }