Hi,
I'm trying to set the pager radcombobox in my grid to populate itself with values from my web.config file. This is working, except that the following is happening: when I change my number of items to show on one page from 10 to 2 (for testing; I only have 7 items in the grid) two items show up, but when I try to navigate through the grid, it resets itself to 10 and I get an empty grid, (i.e., if I click the next button it thinks it's on page 2 but it also thinks that there's only one page there, so it shows nothing). When I click back to page 1, it shows all my records. Here's the code:
ASPX:
CS:
I'm trying to set the pager radcombobox in my grid to populate itself with values from my web.config file. This is working, except that the following is happening: when I change my number of items to show on one page from 10 to 2 (for testing; I only have 7 items in the grid) two items show up, but when I try to navigate through the grid, it resets itself to 10 and I get an empty grid, (i.e., if I click the next button it thinks it's on page 2 but it also thinks that there's only one page there, so it shows nothing). When I click back to page 1, it shows all my records. Here's the code:
ASPX:
<telerik:RadGrid ID="rgUsers" runat="server" |
OnNeedDataSource="rgUsers_NeedDataSource" OnItemCreated="rgAdminUsers_ItemCreated"> |
<MasterTableView DataKeyNames="UserName"> |
<Columns> |
<telerik:GridCheckBoxColumn DataField="IsOnline" DataType="System.Boolean" |
HeaderText="Is Online?" UniqueName="IsOnline" > |
</telerik:GridCheckBoxColumn> |
<telerik:GridBoundColumn DataField="UserName" HeaderText="UserName" UniqueName="UserName"> |
</telerik:GridBoundColumn> |
<telerik:GridBoundColumn DataField="LastLoginDate" HeaderText="Last Logged In" UniqueName="column"> |
</telerik:GridBoundColumn> |
<telerik:GridTemplateColumn HeaderText="Is Approved?" UniqueName="IsApproved" SortExpression="IsApproved" DataField="IsApproved"> |
<ItemTemplate> |
<asp:CheckBox ID="cbIsApproved" runat="server" AutoPostBack="true" Checked='<%# Bind("IsApproved") %>' |
OnCheckedChanged="gvUsers_UpdateIsApproved" /> |
</ItemTemplate> |
</telerik:GridTemplateColumn> |
<telerik:GridTemplateColumn HeaderText="Is Locked Out?" UniqueName="IsLockedOut" SortExpression="IsLockedOut" DataField="IsLockedOut"> |
<ItemTemplate> |
<asp:CheckBox ID="cbIsLockedOut" runat="server" AutoPostBack="true" Checked='<%# Bind("IsLockedOut") %>' |
OnCheckedChanged="gvUsers_UpdateLockedOut" Enabled='<%# Bind("IsLockedOut") %>' /> |
</ItemTemplate> |
</telerik:GridTemplateColumn> |
<telerik:GridTemplateColumn HeaderText="Role(s)" UniqueName="Roles" DataField="Roles" AllowFiltering="False"> |
<ItemTemplate> |
<%# String.Join(", ",Roles.GetRolesForUser(DataBinder.Eval(Container.DataItem, "UserName").ToString())) %> |
</ItemTemplate> |
</telerik:GridTemplateColumn> |
<telerik:GridTemplateColumn HeaderText="Petition(s)" UniqueName="Petitions" DataField="Petitions" AllowFiltering="False"> |
<ItemTemplate> |
<%# new ProfileCommon().GetProfile(DataBinder.Eval(Container.DataItem, "UserName").ToString()).Petitions.Replace(", ","<br />") %> |
</ItemTemplate> |
</telerik:GridTemplateColumn> |
<telerik:GridTemplateColumn UniqueName="TemplateColumn" AllowFiltering="False"> |
<ItemTemplate> |
<asp:Button ID="btnEditRoles" runat="server" CausesValidation="false" CommandArgument='<%# DataBinder.Eval(Container.DataItem, "UserName").ToString() %>' |
CommandName="EditRoles" Text="Edit Roles" OnClick="EditRoles" /> |
<asp:Button ID="btnEditPetitions" runat="server" CausesValidation="false" CommandArgument='<%# DataBinder.Eval(Container.DataItem, "UserName").ToString() %>' |
CommandName="EditRoles" Text="Edit Petitions" OnClick="EditPetitions" /> |
<asp:Button ID="btnChangePassword" runat="server" CausesValidation="false" CommandArgument='<%# DataBinder.Eval(Container.DataItem, "UserName").ToString() %>' |
CommandName="ChangePassword" Text="Change Password" OnClick="ChangePassword" /> |
<asp:Button ID="btnUserInfo" runat="server" CausesValidation="false" CommandArgument='<%# DataBinder.Eval(Container.DataItem, "UserName").ToString() %>' |
CommandName="ViewUserInfo" Text="View User Info" OnClick="ViewUserInfo" /> |
</ItemTemplate> |
</telerik:GridTemplateColumn> |
</Columns> |
</MasterTableView> |
</telerik:RadGrid> |
CS:
protected void rgAdminUsers_ItemCreated(object sender, Telerik.Web.UI.GridItemEventArgs e) |
{ |
// Pull Number of Entries per page in page from web.config appsettings. |
if (e.Item is GridPagerItem) |
{ |
RadComboBox myPageSizeCombo = (RadComboBox)e.Item.FindControl("PageSizeComboBox"); |
myPageSizeCombo.Items.Clear(); |
string strPageSizes = ConfigurationManager.AppSettings["PageSizes"]; |
string[] arrPageSizes = strPageSizes.Split(','); |
for (int x = 0; x < arrPageSizes.Length; x++) |
{ |
RadComboBoxItem myRadComboBoxItem = new RadComboBoxItem(arrPageSizes[x]); |
myPageSizeCombo.Items.Add(myRadComboBoxItem); |
myPageSizeCombo.FindItemByText(arrPageSizes[x]).Attributes.Add("ownerTableViewId", rgUsers.MasterTableView.ClientID); |
} |
myPageSizeCombo.FindItemByText(e.Item.OwnerTableView.PageSize.ToString()).Selected = true; |
} |
} |