This is a migrated thread and some comments may be shown as answers.

Localization of the advanced type Pager

2 Answers 81 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Francois MARTIN
Top achievements
Rank 2
Francois MARTIN asked on 19 Apr 2010, 12:03 PM
Anyone who had to work on the Pager localization for a RadGrid must have been confronted with two things:

  1. The advanced pager cannot be localized as easily as the other styles of pagers for the RadGrid : there is no PagerStyle item property that you can set in your aspx file to localize the Labels and Buttons of the advanced pager (like "PagerTextFormat" or "PageSizeLabelText").
  2. You have to access the elements of the advanced pager as described in the following page: http://www.telerik.com/help/aspnet-ajax/grdaccessingdefaultpagerbuttons.html

This is a litle bit anoying, just because Telerik has given us the habit of extreme ease and flexibility, with a lot of properties that are customizable immediateley. But hopefully, accessing the advanced pager items (and localizing them) is simple and well documented (see the URL above.)

But something was missing. The "of" label as used in "Page x of y" is just not documented! After a litle investigation, it was rather easy to discover it, but the thing is that this Label doesn't contain only the word "of" but the page count as well ("of x" embedded in the same Label!)

To fully localize the advanced pager for the RadGrid, and until Telerik gives us the missing properties that would allow us to localize it very easilly, here is the code that can be used (just a sample):
    protected void RadGrid1_ItemDataBound(object sender, Telerik.Web.UI.GridItemEventArgs e)  
    {  
        //Is it a GridPagerItem  
        if (e.Item is GridPagerItem)  
        {  
            // Localization for the pager has to happen here.  
            Label lblPageSize = (Label)e.Item.FindControl("ChangePageSizeLabel");  
            lblPageSize.Text = "Page size";  
            Label gotoPage = (Label)e.Item.FindControl("GoToPageLabel");  
            gotoPage.Text = "Page";  
            Button gotoButton = (Button)e.Item.FindControl("GoToPageLinkButton");  
            gotoButton.Text = "Go";  
            Button changeButton = (Button)e.Item.FindControl("ChangePageSizeLinkButton");  
            changeButton.Text = "Change";  
            Label pageOfLabel = (Label)e.Item.FindControl("PageOfLabel");  
            pageOfLabel.Text = "of " + (((GridPagerItem)(e.Item))).Paging.PageCount;  
        }  
    }  
 

I just hope that this post helps at least one person out there :)

Francois

2 Answers, 1 is accepted

Sort by
0
Martin
Telerik team
answered on 22 Apr 2010, 12:27 PM
Hello Francois,

Thank you for your feedback. Indeed you are correct that the quoted help topic does to provide any information about localizing the "of" text inside the advanced slider pager. We have already corrected this article and the next upload of our documentation will reflect the change. However, note that if you would like to display the page count number you would need to append it to the label text (as you have discovered). This requirement will also be documented.

I would like to inform you that our developers are currently working on improvement on the "Localization through resource files" capability of RadGrid. The Q2 2010 version of the control will allow the developer to localize the different labels and buttons inside the advanced grid pager.

Regards,
Martin
the Telerik team

Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items.
0
Francois MARTIN
Top achievements
Rank 2
answered on 22 Apr 2010, 01:46 PM
Sounds great. It will definitely be usefull.
Thank you.
Francois
Tags
Grid
Asked by
Francois MARTIN
Top achievements
Rank 2
Answers by
Martin
Telerik team
Francois MARTIN
Top achievements
Rank 2
Share this question
or