Click here to Skip to main content
15,879,535 members
Articles / Programming Languages / C#

Customizing and Localizing Microsoft ReportViewer .NET - An Exact Solution

Rate me:
Please Sign up or sign in to vote.
4.67/5 (16 votes)
11 Feb 2007CPOL2 min read 129.2K   3.2K   55   12
An article about How to Customizing and Localizing Microsoft ReportViewer Toolbar

ReportViewer Toolbar

Introduction

In my last article, I've mentioned about a workaround that you may use in case you don't want to use Microsoft Reportviewer component's internal toolbar. In this article, I'm telling the way that if you want to use your own toolbar component (like Infragistics, etc.), simply hide internal toolbar and use your own toolbar and implement methods by yourself. You can reach this article here.

After I post this article, some developers sent some comments about what they need to do if they want to use Microsoft's own toolbar but if they want to localize it. So I decided to write a new article about it. And Jan de Groot sent me a great idea and working code about this and wanted me to write this article. I appreciate him for both his help and being so kind...

Localizing Reportviewer Component to Turkish

What you need to do is: Create a new class and derive it from IReportViewerMessages and set messages into your specified custom language.

C#
public class CustomReportViewerMessages:IReportViewerMessages
{
    public CustomReportViewerMessages(IReportViewerMessages 
                                    reportViewerMessages)
    {
        this.InitializeMessages(reportViewerMessages);
        if (reportViewerMessages != null)
        {
            this.backButtonToolTip = reportViewerMessages
                                     .BackButtonToolTip;
            this.backMenuItemText = reportViewerMessages
                                    .BackMenuItemText;
            ...
            ...
        }
    }
}

More Resources about RDL

Background

Create a message class and customize its messages as you wish and use it on reportviewer.

C#
private void customizeMessages()
{
    this.customMessages = new CustomReportViewerMessages(
                              this.reportViewer.Messages);
    this.customMessages.FindButtonText = "Bul";
    this.customMessages.FindButtonToolTip = 
                                    "Girilen metni bul";
    ...
}

Using the Code

You can simply call your customization method after you set report path:

C#
public ReportViewerForm()
{
    InitializeComponent();
    customizeMessages();
}

In the source code project, there are also some extra buttons on the toolstrip. For full implementation, see the source file above.

Conclusion

Microsoft ReportViewer is a powerful component to display your report and RDL is a good way to implement reporting features. I believe that in the near future, many RDL designer tools and RDL viewer tools will be available on the market.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Software Developer (Senior) MikroKom Yazilim A.S.
Turkey Turkey
c# , vb6 , mssql , oracle , mysql , asp , asp.net developer.

Comments and Discussions

 
Generalthank you Pin
Maksi21-Feb-07 1:55
Maksi21-Feb-07 1:55 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.