Jo Shields a575963da9 Imported Upstream version 3.6.0
Former-commit-id: da6be194a6b1221998fc28233f2503bd61dd9d14
2014-08-13 10:39:27 +01:00

69 lines
2.2 KiB
C#

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Collections.Specialized;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Xml.Linq;
using System.Web.DynamicData;
public partial class GridViewPager : System.Web.UI.UserControl {
private GridView _gridView;
protected void Page_Load(object sender, EventArgs e) {
Control c = Parent;
while (c != null) {
if (c is GridView) {
_gridView = (GridView)c;
break;
}
c = c.Parent;
}
}
protected void TextBoxPage_TextChanged(object sender, EventArgs e) {
if (_gridView == null) {
return;
}
int page;
if (int.TryParse(TextBoxPage.Text.Trim(), out page)) {
if (page <= 0) {
page = 1;
}
if (page > _gridView.PageCount) {
page = _gridView.PageCount;
}
_gridView.PageIndex = page - 1;
}
TextBoxPage.Text = (_gridView.PageIndex + 1).ToString();
}
protected void DropDownListPageSize_SelectedIndexChanged(object sender, EventArgs e) {
if (_gridView == null) {
return;
}
DropDownList dropdownlistpagersize = (DropDownList)sender;
_gridView.PageSize = Convert.ToInt32(dropdownlistpagersize.SelectedValue);
int pageindex = _gridView.PageIndex;
_gridView.DataBind();
if (_gridView.PageIndex != pageindex) {
//if page index changed it means the previous page was not valid and was adjusted. Rebind to fill control with adjusted page
_gridView.DataBind();
}
}
protected void Page_PreRender(object sender, EventArgs e) {
if (_gridView != null) {
LabelNumberOfPages.Text = _gridView.PageCount.ToString();
TextBoxPage.Text = (_gridView.PageIndex + 1).ToString();
DropDownListPageSize.SelectedValue = _gridView.PageSize.ToString();
}
}
}