Monday, November 10, 2008

CODE BEHIND FILE OF CUSTOM PAGING...

Hi ..

plase find the code for custom paging here it is very simple..

using System;
using System.Data;
using System.Configuration;
using System.Collections;
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 BusenessObject;
using BusenessLogic;

public partial class CustomPaging : System.Web.UI.Page
{
BusenessObject.CustomPagingBo oCustomPaging = new CustomPagingBo();
int UserId = 1;
int PageSize = 1;
int GridCurrentPageIndex;
protected void Page_Load(object sender, EventArgs e)
{
if (ViewState["GridCurrentPageIndex"] != null && ViewState["GridCurrentPageIndex"].ToString() != "")
{
GridCurrentPageIndex = Convert.ToInt32(ViewState["GridCurrentPageIndex"]);

}
else
{
GridCurrentPageIndex = 1;

}
DisplayBottomPageLinks();
}



protected void click_PreviousPage(object sender, EventArgs e)
{
GridCurrentPageIndex = GridCurrentPageIndex - 1;
Searching();
DisplayBottomPageLinks();
}


protected void BtnShowUser_Click(object sender, EventArgs e)
{
Searching();
}

public void Searching()
{
ViewState["imgClick"] = "Image_Search";
oCustomPaging.Uid = UserId;
oCustomPaging.GridPageSize = PageSize;
oCustomPaging.GridCurrentPageIndex = GridCurrentPageIndex;
DisplayUser();
}
public void DisplayUser()
{
DataList1.DataSource = CustomPagingBl.GetImageData(oCustomPaging);
DataList1.DataBind();
ViewState["count"] = oCustomPaging.TotalRecords;
if (ViewState["GridCurrentPageIndex"] != null && ViewState["GridCurrentPageIndex"].ToString() != "")
{
GridCurrentPageIndex = Convert.ToInt32(ViewState["GridCurrentPageIndex"]);
}
else
{
GridCurrentPageIndex = 1;
}
DisplayBottomPageLinks();
}

protected void DisplayBottomPageLinks()
{
if (ViewState["GridCurrentPageIndex"] != null && ViewState["GridCurrentPageIndex"].ToString() != "")
{
GridCurrentPageIndex = Convert.ToInt32(ViewState["GridCurrentPageIndex"]);
}
else
{
GridCurrentPageIndex = 1;
}

// Following code is used for the Gridview paging
Int32 count;
int showPages = 3;// 4; or 5 or 6 as you want (This is the key variable...)
//The variable showPages is used to show the no. of Pages you want to show at One time on the page..

Panel pnlPaging = Page.FindControl("pnlPaging") as Panel;
pnlPaging.Controls.Clear();
count = Convert.ToInt32(ViewState["count"]);
GetPageLinks(pnlPaging, GridCurrentPageIndex, PageSize, count, showPages);

}
public void GetPageLinks(Panel pnlPaging,int CurrentPageIndex, int pageSize, int totalRecords, int showPages)
{
#region Paging pageIndex
LinkButton lnk;
//int pageSize = PageSize;// To Give the page size ....
int totalPages = totalRecords / pageSize;
if (totalRecords % pageSize > 0)
{
totalPages += 1;
}
if (totalPages > 1)
{

for (int i = 0; i < totalPages; i++)
{
int pageNo = i + 1;

if (i != (CurrentPageIndex - 1))
{
if (i <= showPages)
{

if (i != showPages)
{
lnk = new LinkButton();
lnk.ID = "linkpage" + pageNo.ToString();
lnk.Text = pageNo.ToString() + " ";
lnk.CausesValidation = false;
lnk.CommandArgument = pageNo.ToString();
lnk.CommandName = "Paging_click";
lnk.Command += new CommandEventHandler(lnk_Command);
lnk.ToolTip = pageNo.ToString();
pnlPaging.Controls.Add(lnk);


}
if (i == showPages)
{

lnk = new LinkButton();
lnk.ID = "linkpage" + pageNo.ToString();
lnk.Text = " .. ";
lnk.CausesValidation = false;

lnk.CommandArgument = pageNo.ToString();
lnk.CommandName = "Paging_click";
lnk.Command += new CommandEventHandler(lnk_Command);
lnk.ToolTip = pageNo.ToString();
pnlPaging.Controls.Add(lnk);
}

}
if (CurrentPageIndex > showPages)
{
int x;
pnlPaging.Controls.Clear();
lnk = new LinkButton();
lnk.ID = "linkpage1";
lnk.Text = " << ";
lnk.CausesValidation = false;
lnk.CommandArgument = "1";
lnk.CommandName = "Paging_click";
lnk.ToolTip = "1";
lnk.Command += new CommandEventHandler(lnk_Command);

pnlPaging.Controls.Add(lnk);
lnk = new LinkButton();
lnk.ID = "linkpage" + (CurrentPageIndex - 1).ToString();
lnk.Text = " .. ";
lnk.CausesValidation = false;
lnk.CommandArgument = (CurrentPageIndex - 1).ToString();
lnk.CommandName = "Paging_click";
lnk.Command += new CommandEventHandler(lnk_Command);
lnk.ToolTip = (CurrentPageIndex - 1).ToString();
lnk.CssClass = "Paging";
pnlPaging.Controls.Add(lnk);

for (x = 0; x < showPages; x++)
{
if ((CurrentPageIndex + x) < totalPages)
{

lnk = new LinkButton();
lnk.ID = "linkpage" + (CurrentPageIndex + x).ToString();
lnk.Text = (CurrentPageIndex + x).ToString() + " ";
lnk.CausesValidation = false;
lnk.CommandArgument = (CurrentPageIndex + x).ToString();
lnk.CommandName = "Paging_click";
lnk.ToolTip = (CurrentPageIndex + x).ToString(); ;

lnk.Command += new CommandEventHandler(lnk_Command);
pnlPaging.Controls.Add(lnk);
}
}
if (x == showPages && (CurrentPageIndex + x) <= totalPages)
{

lnk = new LinkButton();
lnk.ID = "linkpage" + (CurrentPageIndex + x).ToString();
lnk.Text = " .. ";
lnk.CausesValidation = false;
lnk.CommandArgument = (CurrentPageIndex + x).ToString();
lnk.CommandName = "Paging_click";
lnk.Command += new CommandEventHandler(lnk_Command);
lnk.ToolTip = (CurrentPageIndex + x).ToString();
pnlPaging.Controls.Add(lnk);
}
}
if (i == (totalPages - 1) && (CurrentPageIndex != totalPages) && (totalPages > (showPages + 1)))
{

lnk = new LinkButton();
lnk.ID = "linkpage1" + totalPages.ToString();
lnk.Text = " >> ";
lnk.CausesValidation = false;
lnk.CommandArgument = totalPages.ToString();
lnk.CommandName = "Paging_click";
lnk.Command += new CommandEventHandler(lnk_Command);
lnk.ToolTip = totalPages.ToString();
pnlPaging.Controls.Add(lnk);
}

if (CurrentPageIndex > (totalPages - showPages))
{

if (CurrentPageIndex == totalPages)
{
pnlPaging.Controls.Clear();
lnk = new LinkButton();
lnk.ID = "linkpage1";
lnk.Text = " << ";
lnk.CausesValidation = false;
lnk.CommandArgument = "1";
lnk.CommandName = "Paging_click";
lnk.ToolTip = "1";
lnk.Command += new CommandEventHandler(lnk_Command);
pnlPaging.Controls.Add(lnk);

lnk = new LinkButton();
lnk.ID = "linkpage" + (totalPages - (showPages + 1)).ToString();
lnk.Text = " .. ";
lnk.CausesValidation = false;
lnk.CommandArgument = (totalPages - (showPages + 1)).ToString();
lnk.CommandName = "Paging_click";
lnk.Command += new CommandEventHandler(lnk_Command);
lnk.ToolTip = (totalPages - (showPages + 1)).ToString();
pnlPaging.Controls.Add(lnk);
for (int x = (showPages - 1); x > 0; x--)
{
lnk = new LinkButton();
lnk.ID = "linkpage" + (totalPages - x).ToString();
lnk.Text = (totalPages - x).ToString() + " ";
lnk.CausesValidation = false;
lnk.CommandArgument = (totalPages - x).ToString();
lnk.CommandName = "Paging_click";
lnk.Command += new CommandEventHandler(lnk_Command);
lnk.ToolTip = (totalPages - x).ToString();
pnlPaging.Controls.Add(lnk);
}
}
else
{
pnlPaging.Controls.Clear();
lnk = new LinkButton();
lnk.ID = "linkpage1";
lnk.Text = " << ";
lnk.CausesValidation = false;
lnk.CommandArgument = "1";
lnk.CommandName = "Paging_click";
lnk.ToolTip = "1";
lnk.Command += new CommandEventHandler(lnk_Command);
pnlPaging.Controls.Add(lnk);

lnk = new LinkButton();
lnk.ID = "linkpage" + (totalPages - (showPages + 1)).ToString();
lnk.Text = " .. ";
lnk.CausesValidation = false;
lnk.CommandArgument = (totalPages - (showPages + 1)).ToString();
lnk.CommandName = "Paging_click";
lnk.Command += new CommandEventHandler(lnk_Command);
lnk.ToolTip = (totalPages - (showPages + 1)).ToString();
pnlPaging.Controls.Add(lnk);
for (int x = showPages; x > 0; x--)
{
lnk = new LinkButton();
lnk.ID = "linkpage" + (totalPages - x).ToString();
lnk.Text = (totalPages - x).ToString() + " ";
lnk.CausesValidation = false;
lnk.CommandArgument = (totalPages - x).ToString();
lnk.CommandName = "Paging_click";
lnk.Command += new CommandEventHandler(lnk_Command);
lnk.ToolTip = (totalPages - x).ToString();
pnlPaging.Controls.Add(lnk);
}

lnk = new LinkButton();
lnk.ID = "linkpage1" + totalPages.ToString();
lnk.Text = " >> ";
lnk.CausesValidation = false;
lnk.CommandArgument = totalPages.ToString();
lnk.CommandName = "Paging_click";
lnk.ToolTip = totalPages.ToString();
lnk.Command += new CommandEventHandler(lnk_Command);
pnlPaging.Controls.Add(lnk);

}
}
}

else
{
if (i == (CurrentPageIndex - 1))
{
lnk = new LinkButton();
lnk.ID = "linkpage" + pageNo.ToString();
lnk.Text = pageNo.ToString() + " ";
lnk.CausesValidation = false;
lnk.ToolTip = pageNo.ToString();
//lnk.Attributes["OnClick"] = "return false;";
lnk.Enabled = false;
lnk.Style["cursor"] = "text";
pnlPaging.Controls.Add(lnk);

}
}

}
}


#endregion
}
void lnk_Command(Object sender, CommandEventArgs e)
{
Panel pnlPaging = (Panel)Page.FindControl("pnlPaging");
ViewState["linkId"] = e.CommandArgument.ToString();
if (e.CommandName == "FirstPaging_click")
{
GridCurrentPageIndex = Convert.ToInt32(e.CommandArgument);
ViewState["GridCurrentPageIndex"] = GridCurrentPageIndex;
}
else if (e.CommandName == "Paging_click")
{
GridCurrentPageIndex = Convert.ToInt32(e.CommandArgument);
ViewState["GridCurrentPageIndex"] = GridCurrentPageIndex;
}
Searching();
LinkButton lnk = (LinkButton)pnlPaging.FindControl("linkpage" + ViewState["linkId"].ToString());
lnk.Enabled = false;

}
}




Thanks :
Sanjeev Chauhan
HelpOnDesk Team

No comments: