打印报告时如何使行不可见?

时间:2013-05-31 05:27:05

标签: vb.net visual-studio-2008 printing reportviewer

我正在使用.rldc文件来定义程序中报告的布局。问题是,它将用于增量打印。这意味着纸张将被反复使用,因为需要打印较新的行。我试图以这种方式接近它:

  1. 列出报告视图中的所有相应数据。
  2. 使较旧的行不可见,只显示最新的行。
  3. 打印。
  4. 这样,最后一行已经正确放置了。问题是,我不知道如何实现这一点。任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:1)

您可以在行可见性变量的报表定义中创建IIF(condition,true,false)语句。

我猜的最好方法是在数据源中定义一个排名列。

示例:

选择col1,col2,col3,RANK()OVER(ORDER BY col3 DESC)AS' rank'来自table1

然后在表格或矩阵中,单击要根据表达式创建边框和文本的行或/和列。

转到bordercolor上的属性和下拉列表 选择表达式并输入(基于我的示例查询)

= IIf(rank.value<> max(rank.value),白色,黑色) 这不会删除行只会使边框变白(不可见)

与Font Color属性相同。

我认为这是你在这个问题上的最好成绩。 我能想到的其他解决方案是隐藏不必要的行(也替换可见行)

然后通过使用一个表达式来向下移动表格,该表达式在1行的实际行*高度之前隐藏了行数nr,只有我不确定这是否适用而不编写RDL扩展名。

祝你好运!