2013-05-31 63 views
2

我正在使用.rldc文件來定義我的程序中報告的佈局。問題是,它被用於增量打印。這意味着紙張會被反覆使用,因爲需要打印新的行。我試圖以這種方式來處理它:如何在打印報告時使行不可見?

  1. 列出報告視圖上的所有相應數據。
  2. 使舊行不可見並僅顯示最新行。
  3. 打印。

這樣,最後一行已經正確放置。問題是,我不知道如何實現這一點。誰能幫我嗎?

+0

你如何將你的數據源分配給你的報告?我有類似的問題。我創建DataSets並以編程方式填充數據表。由於它是在一個循環中完成的,我可以每次檢查該行是否應該添加或不在DataTable中。最後,我將DataTable分配給報表DataSource – Alex

+0

我可以檢查是否應該添加某個行,但是事情是,我**需要**要添加的行,以便正確地偏移最後一行打印。我只想要一種方法來隱藏以前的行,以便它們不會被打印在紙上已經存在的行上。 – Propeller

+0

有沒有辦法以白色「打印」舊的行,而只是最後一行「黑色」,可以這麼說? – Alexander

回答

1

您可以在行可見性變量的報表定義中創建IIF(condition,true,false)語句。

我想最好的方法是在你的數據源中定義一個等級列。

例如:

選擇COL1,COL2,COL3,RANK()OVER(ORDER BY COL3 DESC)從表1

在表或矩陣

然後 '排名',你點擊行或/和您希望根據表達式創建邊框和文本的列。

轉到性質和下拉上BORDERCOLOR 選擇表達和類型(根據我的例子查詢)

= IIF(rank.value <> MAX(rank.value),白色,黑色) 那不會刪除行,只會使邊框變白(不可見)

您可以使用Font Color屬性進行同樣的操作。

我認爲這是你在這個問題上最好的選擇。 我能想到的其他解決方案是隱藏不必要的行(它也取代了可見行)

然後通過使用一個表達式,使用一個公式表達式像nr行隱藏在實際行*高度之前1排,只有我不知道這是否適用,不用編程RDL擴展..

祝你好運!

+0

設置爲「白色」的東西是否使它們在打印時不可見?該紙張不是純白色的,因此如果不是這樣的話,它將是可見的。 – Propeller