Skip to main content

Add Image in RTC Reports?

Hi all,

I think I got late with this post, but I was unaware that most of us still don't know how to add reports in Role Tailored Client Reports.

So let's have a look on the same. For the demo purpose I will use standard report with ID 111.

Steps -
1) Design the Report.
2) Add a new global variable of company information in CAL Global say companyinfo as shown below.



3) Now we will get companyinfo in onPreReport Trigger and compute value of picture as its a blob field.
   Companyinfo.GET;
   Companyinfo.Calcfields(Picture).

* Add above lines in onPreReport Trigger.

4) Now we should add a Picture Box on the Sections with SourceExpr CompanyInfo.Picture.
We need to do this to have the dataset field name to be available for us in Visual Studio.


5) Let's open report layout by Tools - View Layout.
6) You will find a new entry in Dataset as shown below.


7) Now lets add this to the report.
   a) We need to add the Company Picture first as a TextBox to the body of the report.
       This will enable us to use it in the Page Header. We add this TextBox in top of the Body.


   b) We give the TextBox the following properties:
      Value: “=Convert.ToBase64String(Fields!CompanyInfo_Picture.Value)”
      Name: “CompanyPicture”
      Visibility Hidden: “True”
      Color: “Red”


8) As we all know that for anything in header we need to add code in report properties, code tab. So lets now add code there. Below is the function that will be required.

Shared PictureData as Object

Public Function GetPicture() as Object 
  Return PictureData 
End Function

Public Function SetPicture(NewData as Object) 
  if NewData>"" 
    PictureData = NewData 
end if 
End Function



9) Now let us add the Image control just as we did for the embedded scenario. Open the Toolbox and add a Image control to the Report.

10) Here are the properties that we need to set for this image control -
     Value: “=Convert.FromBase64String(Code.GetPicture())”  
     Source: “Database” 
     MIMEType: “image/bmp”

11) Add textbox to Page Header. 
Note! This textbox has to be placed above the Picture control just added
  Value: “=Code.SetPicture(ReportItems!CompanyPicture.Value)” 
  Visibility Hidden: “True” 
  Color: “Red


12) Save and import RDLC changes, and then compile report in Classic client. 

13) Run the Report from RTC Client and here is the expected output.



* Keep reading, commenting and suggesting on which topic you require post.


Thanks & Regards,
Saurav Dhyani
www.sauravdhyani.com

Comments

Popular posts from this blog

VIEW SERVER STATE permission on SQL Server?

Hi all, Sometime While trying to Login into a database we face an error message as shown below. --------------------------- Microsoft Dynamics NAV Classic --------------------------- You cannot start Microsoft Dynamics NAV Classic because you do not have the VIEW SERVER STATE permission on SQL Server. Contact your system administrator. --------------------------- OK    ---------------------------

BC 21 and Higher - PowerShell Cmdlet (Replacement of Business Central Administration).

Hi Readers, As discussed in last article about deprecating of Business Central Administration, there are few common actions that we use in administration till Business Central 20. For our on-prem customers, we will still require doing activities. As Microsoft suggest we need to start using PowerShell cmdlet.    Let's see how to do those via PowerShell, or Administration Shell. I will be keep adding commands as you comment to this article.

Send Mail with Attachment From Navision.

Hi all, We have seen how to save a report into PDF and how to send mail to a customer. Let's link these two post in one i.e. Mailing statement to a customer into PDF Format. This article is part of the Series. Please Refer  Table of Content here . If you have the old objects set let me brief you what I will be changing -