none
關於CrystalReport 載入及列印時 頁碼問題 RRS feed

  • 問題

  • 各位大大

    我使用VS2008的CrystalReport 10.5

    來呈現報表

    遇到了幾個問題

    我會在每個頁面填入我指定的頁碼

    如果我有去按下它上方快捷鍵的下一頁上一頁的話

    因為我有在 Navigate 事件 指定每各頁面的頁碼 那他會幫我填入,這樣我列印上就沒有問題

    如果我沒有去按的話那我列印時都會是同樣的頁碼

     請問

    1.我該如何在報表載入的時候就填入我指定的頁碼

    2.如何得知目前報表有幾頁?

    3.因為我有CrystalReport 11.0 的開發版,如何移除CrystalReport 10.5,掛載CrystalReport 11.0

       如果不行的話,請問我直接用CrystalReport 10.5來開發,因為授權是CrystalReport 11.0,這樣我可以發行嗎?

     

     

    以上幾個問題麻煩各位大大

    2008年11月17日 上午 08:24

解答

  • 要不要換個方式,既然知道了頁碼,何不直接塞到DataTable中的一欄,

    這樣也不會因為頁面的切換而需要執行頁碼的計算,也不用費心去維持頁碼的變數。

     

    如果上述說法不採用的話...

    因為不知道你的頁碼是不是連續的,如果是連續的,你希望讓CR的頁碼從第87頁開始,連續印出87、88、89的話,

    你可以使用下列的作法:

     

    1.新增一個參數,假設是PageNum

    2.然後新增一個公式,假設是PageNow

    3.然後編輯公式為 {?PageNum}+PageNumber,其中PageNumer為CR內定的目前頁數

    4.將公式PageNow拖拉到要顯示頁碼的位置

    5.然後在程式中給予CR參數PageNum的值

    Code Snippet

     

            Dim MyReport As New CrystalDecisions.CrystalReports.Engine.ReportDocument
            Dim ReportPath As String = Server.MapPath("./") + "CrystalReport.rpt"
            MyReport.SetParameterValue("PageNum", 86)

     

     

     

    6.產生CR報表後,即為所得。

     

    2008年12月15日 下午 02:38

所有回覆

  • 各位大大

    小弟駔近實際測試後

    感覺怪怪的

    我將

    CrystalReport11 引用參考進來

    然後將CrystalReport11 從選擇項目載入進來

    不過 不管我怎麼用 載入的元件都是CrystalReport10.5

    真的事很奇怪

     

    還有上面有關於頁碼的問題,看各位大大都沒有回覆,然到真的無解嗎?

    麻煩告知小弟一下

    再次麻煩了

    2008年11月20日 上午 12:57
  •  

    你是有特殊需求要自訂頁碼嗎?

    不然CrystalReport中就有內建的特殊欄位來呈現目前的頁碼或是 "第N頁/共M頁"的資料。

    2008年12月10日 下午 03:14
  • Dear   remhom

    就是有特殊需求,需要載入 自己設定的頁碼

     

    因為我要列印的報表

    試一份報告中的某幾頁

    總頁數是我知道的

    要從第幾頁開始也是我知道的

    但是就是沒辦法讓他從我指定的頁碼開始

     

    目前的作法是

    如果頁數大於一頁

    請USER每頁都去檢查一下

    因為在換頁的時候

    我就可以偷偷填入我指定頁碼

     

     

    2008年12月11日 上午 06:32
  • 要不要換個方式,既然知道了頁碼,何不直接塞到DataTable中的一欄,

    這樣也不會因為頁面的切換而需要執行頁碼的計算,也不用費心去維持頁碼的變數。

     

    如果上述說法不採用的話...

    因為不知道你的頁碼是不是連續的,如果是連續的,你希望讓CR的頁碼從第87頁開始,連續印出87、88、89的話,

    你可以使用下列的作法:

     

    1.新增一個參數,假設是PageNum

    2.然後新增一個公式,假設是PageNow

    3.然後編輯公式為 {?PageNum}+PageNumber,其中PageNumer為CR內定的目前頁數

    4.將公式PageNow拖拉到要顯示頁碼的位置

    5.然後在程式中給予CR參數PageNum的值

    Code Snippet

     

            Dim MyReport As New CrystalDecisions.CrystalReports.Engine.ReportDocument
            Dim ReportPath As String = Server.MapPath("./") + "CrystalReport.rpt"
            MyReport.SetParameterValue("PageNum", 86)

     

     

     

    6.產生CR報表後,即為所得。

     

    2008年12月15日 下午 02:38
  •  謝謝大大了

     

    原來還有這樣的方法

     

    謝謝

     

    終於解決這個問題了

    感恩

    2008年12月18日 上午 08:52