You've already forked linux-packaging-mono
							
							
		
			
	
	
		
			69 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
		
		
			
		
	
	
			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(); | |||
|  |         } | |||
|  |     } | |||
|  | } |