C# 强制SQL Reporting Services 2005表显示一定数量的行

C# 强制SQL Reporting Services 2005表显示一定数量的行,c#,reporting-services,reportingservices-2005,C#,Reporting Services,Reportingservices 2005,我有一个SQL Reporting Services 2005报告,在第一页包含一个表。我在第一页有足够的空间显示列表中的前5项。如果有5项以上,我希望列表继续显示在报告第二页的另一个表中 我还希望表具有固定数量的行。例如,即使列表中不存在任何项,第一页上的表始终显示5行。这使得边框仍然可见,这样页面布局就不会混乱 有什么想法可以让这项工作正常进行吗?可能不是您想要的答案,但您可以将第一个表绑定到的查询或数据源限制为5项或其他内容。然后,第二个表将绑定到一个查询或数据源,其中只包含剩余的项 我不

我有一个SQL Reporting Services 2005报告,在第一页包含一个表。我在第一页有足够的空间显示列表中的前5项。如果有5项以上,我希望列表继续显示在报告第二页的另一个表中

我还希望表具有固定数量的行。例如,即使列表中不存在任何项,第一页上的表始终显示5行。这使得边框仍然可见,这样页面布局就不会混乱


有什么想法可以让这项工作正常进行吗?

可能不是您想要的答案,但您可以将第一个表绑定到的查询或数据源限制为5项或其他内容。然后,第二个表将绑定到一个查询或数据源,其中只包含剩余的项


我不认为报告中有一种方法可以对一处房产或类似的东西进行处理。

我不认为有一种简单的方法可以做到这一点。抱歉,SSR在这里帮不了你。您可以更改查询逻辑,以便在返回的实际行数小于5时,使用大量“虚拟”行填充结果集。然而,这似乎是一个混乱的解决方案。

我认为最好在返回数据的查询/存储过程中完成,而不是在SSR中

你可以这样做

SELECT TOP 5 FROM
(
    SELECT Top 5 *
    FROM DummyOrBlankDataFillerView
    UNION
    SELECT TOP 5 *, Row_Number() over (order by YourColumns) as OrderByClause 
    FROM ActualQueryThatBringsBackRecords
)
ORDER BY OrderByClause
OrderByClause按您的列排序,将有(1,2,3,4,5)和
DummyOrBlankDataFillerView
应该有一个您返回的列,该列的值与(6,7,8,9,10)在同一列中


然后,在排序依据和“前五名”之间,您应该有您需要显示的内容。

如果没有,您需要合并一些空白数据

例如,向名为rowcount的数据集添加一个计算行

=rownumber("datasetname")

然后过滤第一个表中的rowcount<6

@giltanis:OP希望该表始终显示5行,即使查询返回的数据小于5行。