asp.net code that paginates data from a data table

  • 2020-05-09 18:28:41
  • OfStack

The implementation code is as follows:

using System; 
using System.Collections; 
using System.Configuration; 
using System.Data; 
using System.Linq; 
using System.Web; 
using System.Web.Security; 
using System.Web.UI; 
using System.Web.UI.HtmlControls; 
using System.Web.UI.WebControls; 
using System.Web.UI.WebControls.WebParts; 
using System.Xml.Linq; 
using System.Drawing; 
namespace ShowData4 
{ 
public partial class _Default : System.Web.UI.Page 
{ 
protected void Page_Load(object sender, EventArgs e) 
{ 
GridView1.PageSize = 5; /*GridView Control displays the number of records per page */ 
if (GridView1.Rows.Count != 0) /* When the number of records is displayed only 1 Page loads the paging TAB */ 
{ 
Control table = GridView1.Controls[0]; 
int count = table.Controls.Count; 
table.Controls[count - 1].Visible = true; 
} 
} 
protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e) 
{ 
if (e.Row.RowType == DataControlRowType.Pager) /* Displays the rows of the pager control */ 
{ 
/* Create a button to display a hyperlink on a web page */ 
LinkButton Button_IndexFirst = new LinkButton(); 
LinkButton Button_IndexLast = new LinkButton(); 
LinkButton Button_IndexNext = new LinkButton(); 
LinkButton Button_IndexPrevious = new LinkButton(); 
/* Add a hyperlink button to the pager row */ 
e.Row.Controls[0].Controls.Add(Button_IndexFirst); 
e.Row.Controls[0].Controls.Add(new LiteralControl(("  "))); /* Paging buttons are used between 2 Space out */ 
e.Row.Controls[0].Controls.Add(Button_IndexPrevious); 
e.Row.Controls[0].Controls.Add(new LiteralControl(("  "))); 
e.Row.Controls[0].Controls.Add(Button_IndexNext); 
e.Row.Controls[0].Controls.Add(new LiteralControl(("  "))); 
e.Row.Controls[0].Controls.Add(Button_IndexLast); 
Button_IndexFirst.Text = " The first 1 page "; 
Button_IndexFirst.CommandName = "first"; 
Button_IndexFirst.Click += new EventHandler(PageButtonClick); 
Button_IndexPrevious.Text = " on 1 page "; 
Button_IndexPrevious.CommandName = "previous"; 
Button_IndexPrevious.Click += new EventHandler(PageButtonClick); 
Button_IndexNext.Text = " Under the 1 page "; 
Button_IndexNext.CommandName = "next"; 
Button_IndexNext.Click += new EventHandler(PageButtonClick); 
Button_IndexLast.Text = " The last 1 page "; 
Button_IndexLast.CommandName = "last"; 
Button_IndexLast.Click += new EventHandler(PageButtonClick); 
if (GridView1.PageIndex == 0) 
{ 
if (GridView1.PageCount > 1) /* The number of pages required for the number of records is greater than 1 page */ 
{ 
Button_IndexFirst.Enabled = false; 
Button_IndexPrevious.Enabled = false; 
} 
else /* Record number only 1 page */ 
{ 
Button_IndexFirst.Enabled = false; 
Button_IndexPrevious.Enabled = false; 
Button_IndexNext.Enabled = false; 
Button_IndexLast.Enabled = false; 
} 
} 
else if (GridView1.PageIndex == GridView1.PageCount - 1) 
{ 
Button_IndexNext.Enabled = false; 
Button_IndexLast.Enabled = false; 
} 
else if (GridView1.PageCount <= 0) 
{ 
Response.Write(" There is no data in the data table! "); 
Button_IndexFirst.Enabled = false; 
Button_IndexPrevious.Enabled = false; 
Button_IndexNext.Enabled = false; 
Button_IndexLast.Enabled = false; 
} 
} 
} 
protected void PageButtonClick(object sender, EventArgs e) 
{ 
LinkButton clickedButton = ((LinkButton)sender); 
if (clickedButton.CommandName == "first") /* And it says, "no 1 Page button, page index is 0*/ 
{ 
GridView1.PageIndex = 0; 
} 
else if (clickedButton.CommandName == "next") /* And it says, "down. 1 Page button, page index plus 1*/ 
{ 
if (GridView1.PageIndex < GridView1.PageCount - 1) 
{ 
GridView1.PageIndex += 1; 
} 
} 
else if (clickedButton.CommandName == "previous") /* And it says, "up. 1 Page button, page index if greater than or equal to 1 , it decreases 1*/ 
{ 
if (GridView1.PageIndex >= 1) 
{ 
GridView1.PageIndex -= 1; 
} 
} 
else if (clickedButton.CommandName == "last") /* And it says, "finally 1 Page "button */ 
{ 
GridView1.PageIndex = GridView1.PageCount - 1; 
} 
} 
} 
} 

Related articles: