4 Answers, 1 is accepted
You can set the page size in the client side as follows.
ASPX:
<
telerik:RadGrid
ID
=
"RadGrid1"
AllowPaging
=
"true"
runat
=
"server"
PageSize
=
"50"
>
<
MasterTableView
>
<
PagerStyle
Mode
=
"NextPrevAndNumeric"
PageSizeLabelText
=
"Page Size: "
PageSizes
=
"5,10,25,50,100,250"
/>
<
Columns
>
. . . . . . . . .
. . . . . . . . .
</
Columns
>
</
MasterTableView
>
</
telerik:RadGrid
>
OR you can pro-grammatically set it in the server side as follows.
C#:
protected
void
RadGrid1_ItemDataBound(
object
sender, Telerik.Web.UI.GridItemEventArgs e)
{
if
(e.Item
is
GridPagerItem)
{
RadComboBox PageSizeCombo = (RadComboBox)e.Item.FindControl(
"PageSizeComboBox"
);
PageSizeCombo.Items.Clear();
PageSizeCombo.Items.Add(
new
RadComboBoxItem(
"10"
));
PageSizeCombo.FindItemByText(
"10"
).Attributes.Add(
"ownerTableViewId"
, RadGrid1.MasterTableView.ClientID);
PageSizeCombo.Items.Add(
new
RadComboBoxItem(
"20"
));
PageSizeCombo.FindItemByText(
"20"
).Attributes.Add(
"ownerTableViewId"
, RadGrid1.MasterTableView.ClientID);
PageSizeCombo.Items.Add(
new
RadComboBoxItem(
"50"
));
PageSizeCombo.FindItemByText(
"50"
).Attributes.Add(
"ownerTableViewId"
, RadGrid1.MasterTableView.ClientID);
PageSizeCombo.Items.Add(
new
RadComboBoxItem(
"100"
));
PageSizeCombo.FindItemByText(
"100"
).Attributes.Add(
"ownerTableViewId"
, RadGrid1.MasterTableView.ClientID);
PageSizeCombo.Items.Add(
new
RadComboBoxItem(
"200"
));
PageSizeCombo.FindItemByText(
"200"
).Attributes.Add(
"ownerTableViewId"
, RadGrid1.MasterTableView.ClientID);
PageSizeCombo.FindItemByText(e.Item.OwnerTableView.PageSize.ToString()).Selected =
true
;
}
}
ASPX:
<
telerik:RadGrid
ID
=
"RadGrid1"
AllowPaging
=
"True"
PageSize
=
"50"
runat
=
"server"
OnItemDataBound
=
"RadGrid1_ItemDataBound"
>
<
PagerStyle
PageSizeControlType
=
"RadComboBox"
></
PagerStyle
>
</
telerik:RadGrid
>
Thanks,
Princy
Whenever I try to set the PageSize to something other than the default size in the grid the combobox values change but the number of items in the grid stays at the default.
In my case my default page size is set to 25 but I want to change the grid to display 50 items and set the combo to 50.
See Below:
protected void RadGrid2_ItemDataBound(object sender, GridItemEventArgs e)
{
if (e.Item is GridPagerItem)
{
RadComboBox PageSizeCombo = (RadComboBox)e.Item.FindControl("PageSizeComboBox");
PageSizeCombo.Items.Clear();
PageSizeCombo.Items.Add(new RadComboBoxItem("25"));
PageSizeCombo.FindItemByText("25").Attributes.Add("ownerTableViewId", RadGrid2.MasterTableView.ClientID);
PageSizeCombo.Items.Add(new RadComboBoxItem("50"));
PageSizeCombo.FindItemByText("50").Attributes.Add("ownerTableViewId", RadGrid2.MasterTableView.ClientID);
PageSizeCombo.Items.Add(new RadComboBoxItem("100"));
PageSizeCombo.FindItemByText("100").Attributes.Add("ownerTableViewId", RadGrid2.MasterTableView.ClientID);
PageSizeCombo.Items.Add(new RadComboBoxItem("200"));
PageSizeCombo.FindItemByText("200").Attributes.Add("ownerTableViewId", RadGrid2.MasterTableView.ClientID);
PageSizeCombo.Items.Add(new RadComboBoxItem("500"));
PageSizeCombo.FindItemByText("500").Attributes.Add("ownerTableViewId", RadGrid2.MasterTableView.ClientID);
int nSelectedIndex = 50;
e.Item.OwnerTableView.PageSize = 50;
switch (nSelectedIndex)
{
case 1:
PageSizeCombo.FindItemByText("50").Selected = true;
e.Item.OwnerTableView.PageSize = 50;
break;
case 2:
PageSizeCombo.FindItemByText("100").Selected = true;
e.Item.OwnerTableView.PageSize = 100;
break;
case 3:
PageSizeCombo.FindItemByText("200").Selected = true;
e.Item.OwnerTableView.PageSize = 200;
break;
case 4:
PageSizeCombo.FindItemByText("300").Selected = true;
e.Item.OwnerTableView.PageSize = 300;
break;
default:
PageSizeCombo.FindItemByText("25").Selected = true;
e.Item.OwnerTableView.PageSize = 25;
break;
}
}
}
<telerik:RadGrid ID="RadGrid2" runat="server" AllowFilteringByColumn="true" AllowAutomaticDeletes="True" AllowSorting="True" AllowAutomaticInserts="True" AllowAutomaticUpdates="True" AllowPaging="True" AutoGenerateColumns="False" ClientSettings-Resizing-AllowColumnResize="true" DataSourceID="SqlDataSource2" GridLines="Both" OnPreRender="RadGrid2_PreRender" PageSize="20" Skin="Office2007" ShowFooter="true" OnItemDataBound="RadGrid2_ItemDataBound">
<ClientSettings>
<ClientEvents OnBatchEditCellValueChanged="ValueChangedRadGrid2" OnRowDeleted="OnDelete" OnCommand="OnCommand"/>
</ClientSettings>
<MasterTableView AutoGenerateColumns="False" PageSize="25" CommandItemDisplay="Top" DataKeyNames="ID" EditMode="Batch" HorizontalAlign="NotSet" AllowMultiColumnSorting="False" AllowSorting="true">
This functionality is provided built-in by RadGrid - please use the PageSizes property to achieve this requirement:
https://docs.telerik.com/devtools/aspnet-ajax/controls/grid/functionality/paging/overview
This will resolve the selection issue of the correct combo item.
Regards,
Eyup
Progress Telerik