2017-02-20 113 views
0

我已經使用ActiveReports 9 Designer創建了一個Section Report。我需要根據標誌設置水印。如果標誌爲ON,則應爲該特定頁面設置水印。如果標誌爲OFF,則水印應該是無效的。在ActiveReports中設置水印

我在組頭中有標誌文本框和水印圖像。所以我想在報告腳本的GROUPHEADER1_BeforePrint中切換水印。

Sub GroupHeader1_BeforePrint 
    if(TxtFlg.text = "1") Then 
     rpt.Watermark = imgWaterMark.Image 
    else 
     rpt.Watermark = nothing 
    End If 
End Sub 

我的問題是 - 第一頁跳過,它從下一頁繼續。第2頁顯示第1頁水印,第3頁顯示第2頁水印等。爲什麼它顯示像這樣?

任何人都可以請幫助我。提前致謝 。

回答

0

如果我們想根據條件顯示主動報告中的水印,那麼報告的水印屬性會有點困難。相反,我們可以使用DrawText 這看起來與報告中的水印類似。

代碼是這樣的:

Sub GroupHeader1_BeforePrint 
    if(TxtFlg.text = "1") Then 
     Me.rpt.CurrentPage.ForeColor = Color.FromArgb(80, 128,128,128) 
     Me.rpt.CurrentPage.Font = New Font("Arial", 45F) 
     Me.rpt.CurrentPage.DrawText("DRAFT", 0.489F, 5F, 8, 2) 
    else 
     Me.rpt.CurrentPage.ForeColor = Color.FromArgb(80, 255, 255, 255) 
     Me.rpt.CurrentPage.Font = New Font("Arial", 20F) 
     Me.rpt.CurrentPage.DrawText("", 1.5F, 3F, 2, 2) 
    End If 
End Sub 
1

這是設計行爲。水印屬性用於整個報表,並在任何其他部分呈現之前呈現呈現。因此,當您在GroupHeader_Format事件中設置水印時,該頁面的水印已被打印出來,因此無法更改。因此,水印會打印在下一頁上。現在,要解決您的問題以在第一頁上呈現水印,您可以在ReportStart事件中進行設置。對於其他頁面,您必須聲明一個全局變量並設置水印,牢記它將打印在下一頁上。

+0

我沒有得到該怎麼辦。你可以給我任何鏈接或示例代碼。 – Reshma