Anyname Donotcare
Anyname Donotcare

Reputation: 11393

How to add a watermark to my RDLC report programmatically under some condition?

How to add a watermark to my RDLC report programmatically under some condition (based on passed parameter)?


        overTimeReport.ReportPath = "Report\\OverTime.rdlc";

        overTimeReport.DataSources.Clear();
        overTimeReport.Refresh();

        //---- Generate parameter list----
        List<ReportParameter> paramList = new List<ReportParameter>();
        ReportParameter param1 = new ReportParameter("check_state", check_state); 
        paramList.Add(param1);
        overTimeReport.SetParameters(paramList);
        ReportDataSource datasource = new ReportDataSource();
        datasource = new ReportDataSource("DSOverTime", dt);

Upvotes: 1

Views: 11127

Answers (1)

InitK
InitK

Reputation: 1281

Set background image for report body to your watermark image parameter:

=Parameters!watermark.Value

Set your conditional watermark parameter based on your "condition" (I assume your condition would either show watermark or not):

ReportParameter watermarkParameter = new ReportParameter("watermark", "", false);
if (showWatermark) 
     watermarkParameter = new ReportParameter("watermark", Uri(watermarkPath).ToString(), false);

Don't forget to add your watermark parameter to parameters list and enable external images in the report:

paramList.Add(watermarkParameter);

overTimeReport.EnableExternalImages = true;

Upvotes: 1

Related Questions