I have the same problem, implemented the solution as posted and have one usability issue:
--> On page load, the pager combo box shows '10, 20, 50, All'. Great!
--> On selection of 'All' the pager adds an additional item and selects it.. '10, 20, 50, 68, All'
--> On my Grid, there is a RadComboBox Filter that I use to filter the results by state. So, after a user 'views all' for say, 'AK', the pager box says '68' instead of 'All', which means when I select another state (i.e. 'AL') I see the first 68 results, instead of seeing 'All'.
To make this make more sense, let me put it this way:
Using the provided code, when I select the 'All' option, an additional list item is added to the RadComboBox 'PageSizeComboBox', with a value of the # of records for the current data source. So instead of the 'All' option being selected, a new list item is automatically added. This is not the behavior we want, or expect.
What I want, is simply, an 'All' option, that when selected, persists as the selected option, and continues to return all results, even after the filter has been changed.
Code I'm using is:
private int TotalItemCount;
protected void rgRecords_ItemCreated(object sender, GridItemEventArgs e)
if (e.Item is GridPagerItem)
GridPagerItem pagerItem = (GridPagerItem)e.Item;
RadComboBox PageSizeCombo = (RadComboBox)pagerItem.FindControl("PageSizeComboBox");
RadComboBoxItem item1 = new RadComboBoxItem();
item1 = new RadComboBoxItem("All", TotalItemCount.ToString());
PageSizeCombo.Items.FindItemByValue(rgRecords.PageSize.ToString()).Selected = true;
protected void rgRecords_ItemEvent(object sender, GridItemEventArgs e)
if (e.EventInfo is GridInitializePagerItem)
TotalItemCount = (e.EventInfo as GridInitializePagerItem).PagingManager.DataSourceCount;