Hi,
I have customized the RADGrid Pager in such a way that it uses NexPrevandNumeric Pager Style and has a dropdown to change the pagesize. The issue I face is mentioned below:
1. Consider a grid with total records of 21
2. If I select 10 records as page size the paging works.
3. If I select 25 from the dropdown for setting the page size the entire pager disappears.
PFB the code used for adding the controls and the code to add the controls.
public class RADGridPager:Control
{
private GridTableView tableView;
DropDownList ddlPageSize;
public RADGridPager(GridTableView tableView)
{
this.tableView = tableView;
this.EnsureChildControls();
}
protected override void CreateChildControls()
{
base.CreateChildControls();
this.Controls.Add(new LiteralControl("Change Page Size: "));
ddlPageSize = new DropDownList();
ddlPageSize.ID = "ddlPager";
ddlPageSize.Items.Add(new ListItem("10", "10"));
ddlPageSize.Items.Add(new ListItem("15", "15"));
ddlPageSize.Items.Add(new ListItem("20", "20"));
ddlPageSize.Items.Add(new ListItem("25", "25"));
ddlPageSize.AutoPostBack = true;
ddlPageSize.Attributes.Add("style", "font-family: verdana; font-size: 10px;");
ddlPageSize.SelectedIndexChanged += new EventHandler(ddlPageSize_SelectedIndexChanged);
this.Controls.Add(ddlPageSize);
this.Controls.Add(new LiteralControl("<br /><br />"));
}
protected override void OnPreRender(EventArgs e)
{
ddlPageSize.SelectedValue = tableView.PageSize.ToString();
base.OnPreRender(e);
}
protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
{
this.tableView.PageSize = int.Parse(this.ddlPageSize.SelectedValue);
this.tableView.CurrentPageIndex = 0;
this.tableView.Rebind();
}
}
Code to consume the RADGrid Pager:
protected void rgUserList_ItemCreated(object sender, GridItemEventArgs e)
{
if (e.Item is GridPagerItem)
{
GridPagerItem pagerItem = (GridPagerItem)e.Item;
pagerItem.PagerContentCell.Controls.Add(new LiteralControl("<br /><br />"));
pagerItem.PagerContentCell.Controls.Add(new RADGridPager(e.Item.OwnerTableView));
}
}
Please let me know how to go about this. Thanks.
I have customized the RADGrid Pager in such a way that it uses NexPrevandNumeric Pager Style and has a dropdown to change the pagesize. The issue I face is mentioned below:
1. Consider a grid with total records of 21
2. If I select 10 records as page size the paging works.
3. If I select 25 from the dropdown for setting the page size the entire pager disappears.
PFB the code used for adding the controls and the code to add the controls.
public class RADGridPager:Control
{
private GridTableView tableView;
DropDownList ddlPageSize;
public RADGridPager(GridTableView tableView)
{
this.tableView = tableView;
this.EnsureChildControls();
}
protected override void CreateChildControls()
{
base.CreateChildControls();
this.Controls.Add(new LiteralControl("Change Page Size: "));
ddlPageSize = new DropDownList();
ddlPageSize.ID = "ddlPager";
ddlPageSize.Items.Add(new ListItem("10", "10"));
ddlPageSize.Items.Add(new ListItem("15", "15"));
ddlPageSize.Items.Add(new ListItem("20", "20"));
ddlPageSize.Items.Add(new ListItem("25", "25"));
ddlPageSize.AutoPostBack = true;
ddlPageSize.Attributes.Add("style", "font-family: verdana; font-size: 10px;");
ddlPageSize.SelectedIndexChanged += new EventHandler(ddlPageSize_SelectedIndexChanged);
this.Controls.Add(ddlPageSize);
this.Controls.Add(new LiteralControl("<br /><br />"));
}
protected override void OnPreRender(EventArgs e)
{
ddlPageSize.SelectedValue = tableView.PageSize.ToString();
base.OnPreRender(e);
}
protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
{
this.tableView.PageSize = int.Parse(this.ddlPageSize.SelectedValue);
this.tableView.CurrentPageIndex = 0;
this.tableView.Rebind();
}
}
Code to consume the RADGrid Pager:
protected void rgUserList_ItemCreated(object sender, GridItemEventArgs e)
{
if (e.Item is GridPagerItem)
{
GridPagerItem pagerItem = (GridPagerItem)e.Item;
pagerItem.PagerContentCell.Controls.Add(new LiteralControl("<br /><br />"));
pagerItem.PagerContentCell.Controls.Add(new RADGridPager(e.Item.OwnerTableView));
}
}
Please let me know how to go about this. Thanks.