2009-10-27 34 views
0

SQL報告2008不允許我把在數據層面的PageNumber和總頁數(全局)變量;只允許他們在頁眉&頁腳。但是他們的價值觀與數據並駕齊驅。那麼是否有任何方法知道非標題級別的頁碼?SQL報告 - 把頁面上的非首計數水平

+0

我沒有SSRS2008 - - 2005年沒有 - 但你可以編寫代碼節的PreRender事件?你有沒有訪問頁面值? – Bill 2009-10-27 15:24:41

回答

1

頁和總頁數,甚至總記錄是一個DB一個相對的概念。

頁一排是取決於排序順序,定時(有人可能會插入數據,從而推動所有記錄下來或更多行)和修改(soemone可能會更新您的排序鍵的字段)。

所以我不會說的價值觀「的PageNumber」和「總頁數」與數據相關的,它與查詢相關聯。

尋呼向上和向下的數據是瑣碎和確定性只有當您的查詢可以採取某種snaphot根據您的鑰匙。 如果快照是不可能的,因爲計算太昂貴或者太大而不適合內存,那麼與項目相關的「PageNumber」的含義就會開始模糊。


我的猜測是,這是報告服務的原因需要它,按行看似排的辦法,直到頁面已滿,則更新標題..

+0

所以你說我應該使用數學來返回查詢中的頁數和頁碼?這在Crystal Reports中是可行的; CR不會像SQL那樣區分標題行和數據。 – JonathanWolfson 2009-10-27 15:03:02

+0

我說的是,它從來沒有精確,並有幾個近似值如何做到這一點,這取決於數據庫引擎和報告工具。對不起。沒有銀彈。 – lexu 2009-10-27 15:13:59

0

,相反的是真實的;即報告標題可以從數據中抽取值,即使反之亦然。因此我添加了一個簡單的從隱藏數據單元中提取值的頁眉。分頁部分正常工作,使用Globals.PageNumber.TotalPages,並且頁碼的相同標題行的數據相關動態部分是=ReportItems!DynamicTitle.Value