SSRS报告中服务器端分页的逻辑是什么

时间:2017-08-10 05:24:05

标签: asp.net ssrs-2008 ssrs-2012 ssrs-2008-r2 rdl

当我正在处理SSRS报告(.rdl)时,我需要在报告中进行分页。通常作为asp.net开发人员的分页,我在我的过程中使用页面num和行逻辑添加了一些语句。

但是由于我的SSRS报告也在使用商店程序,我是否必须在这里做同样的事情?但是我怎么能够处理这些事件呢?通过事件我的意思是说“下一页”“后页”等。是否有任何可以处理分页的SSRS内置功能。我在谈论服务器端的分页,因为我的报告可能是巨大的,我正在使用程序一次选择所有记录。可能如下所示:

Create procedure myproc
 @year int,                    
 @docid  varchar(200) 

Begin

Declare @commandtext nvarchar(max) 
set @commandtext = 'select docid, year, type,
       sum(case when statusid = 231 then 1 else 0 end) as granted,
       sum(case when statusid = 232 then 1 else 0 end) as revoked,
       sum(case when statusid = 235 then 1 else 0 end) as deleted,
       sum(case when statusid = 236 then 1 else 0 end) as others
from table1 where 1=1'

if (@year <> 0 and @year is not null)                     
set @commandtext = @commandtext + 'and year=''' + CONVERT(varchar(10),@year) + ''''  

if(@docid  is not null and @docid  <>'')                    
set @commandText = @commandtext +  'and documents in (' + @docid   + ')'    


set @commandText = @commandtext  + 'group by docid, year, type '

EXEC (@commandText);   

End

1 个答案:

答案 0 :(得分:1)

分页报告是SSRS的标准,您不需要为报告做任何特殊的事情来查看页面,请参阅下面有关分页报告的文章。

https://docs.microsoft.com/en-us/sql/reporting-services/report-design/pagination-in-reporting-services-report-builder-and-ssrs