----->>take one datalist for Paging
<asp:DataList ID="dlPaging" runat="server" RepeatDirection="Horizontal" RepeatColumns="0"
OnItemCommand="dlPaging_ItemCommand" OnItemDataBound="dlPaging_ItemDataBound">
<ItemTemplate>
<table>
<tr>
<td>
<asp:LinkButton ID="lnkbtnPaging" runat="server" CommandArgument="<%# Container.DataItem %>"
Text='<%# Container.DataItem %>' CommandName="lnkbtnPaging" CssClass="button1"></asp:LinkButton>
</td>
<td width="2">
</td>
</tr>
</table>
</ItemTemplate>
</asp:DataList>
----->>write C# code for paging
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.Data.SqlClient;
public partial class people : System.Web.UI.Page
{
double rowCount;
string count = "";
string cname = "";
string queryCount;
double pageNo;
int pgNo;
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["conn"].ConnectionString);
protected void Page_Load(object sender, EventArgs e)
{
HtmlAnchor ach = (HtmlAnchor)Master.FindControl("b1");
ach.Attributes.Add("class", "activ");
if (!Page.IsPostBack)
{
if (Session["Userid"] != null)
{
Panel p1 = (Panel)Master.FindControl("WelcomePanel");
p1.Visible = true;
Panel p2 = (Panel)Master.FindControl("signpanel");
p2.Visible = false;
Label l1 = (Label)Master.FindControl("lblName");
l1.Text = Session["name"].ToString();
}
else
{
Panel p1 = (Panel)Master.FindControl("WelcomePanel");
p1.Visible = false ;
Panel p2 = (Panel)Master.FindControl("signpanel");
p2.Visible = true;
}
getpeopleadds();
getpeoples();
DisplayCompanyDetails();
}
}
public int CurrentPage
{
get
{
if (this.ViewState["CurrentPage"] == null)
return 0;
else
return Convert.ToInt16(this.ViewState["CurrentPage"].ToString());
}
set
{
this.ViewState["CurrentPage"] = value;
}
}
private void DisplayCompanyDetails()
{
string cn = "";
string qry = "";
int start = Convert.ToInt32(CurrentPage * 3 + 1);
int end = start + 3;
DataTable dt = new DataTable();
DataSet ds = new DataSet();
//qry = "set sql_select_limit=40;select * from Directory where Status='Y' order by Cid limit " + start + " ," + end;
qry = "select * from( SELECT *, ROW_NUMBER() OVER (ORDER BY PeopleId desc) as row FROM Peoples ) a WHERE Status='Y' and row >=" + start + " and row <" + end;
SqlCommand cmd = new SqlCommand(qry, con);
con.Open();
cmd.ExecuteNonQuery();
SqlDataAdapter dataAdapter = new SqlDataAdapter();
dataAdapter.SelectCommand = cmd;
dataAdapter.Fill(ds);
SqlCommand cmd1 = new SqlCommand("GetCount", con);
cmd1.CommandType = CommandType.StoredProcedure;
rowCount =Convert.ToInt32( cmd1.ExecuteScalar());
dataAdapter.Dispose();
con.Close();
dt = ds.Tables[0];
if (dt.Rows.Count > 0)
{
grdCategory .DataSource = dt;
grdCategory.DataBind();
dlPaging.Visible = true;
doPaging();
}
else
{
lnkbtnNext.Visible = false;
lnkbtnPrevious.Visible = true ;
dlPaging.Visible = true ;
}
}
private void doPaging()
{
pageNo = Math.Floor(rowCount / 3);
if (pageNo != 0 && rowCount > 3)
{
pageNo = pageNo + 1;
}
else
{
pageNo = pageNo;
}
pgNo = Convert.ToInt32(pageNo);
if (pgNo == 0)
lnkbtnNext.Visible = false;
ArrayList arr = Return_Pagination_Link(pgNo, 3, CurrentPage);
if (rowCount > 1)
{
dlPaging.Visible = true;
dlPaging.DataSource = arr;
dlPaging.DataBind();
}
else
{
dlPaging.Visible = false;
}
if (CurrentPage == 0)
{
if (CurrentPage == (pgNo - 1))
{
dlPaging.Visible = false;
lnkbtnNext.Visible = false;
}
lnkbtnPrevious.Visible = false;
}
if (CurrentPage < pageNo)
lnkbtnNext.Visible = true;
if (CurrentPage == (pageNo - 1))
{
lnkbtnNext.Visible = false;
}
}
protected void lnkbtnPrevious_Click(object sender, EventArgs e)
{
CurrentPage -= 1;
DisplayCompanyDetails();
}
protected void lnkbtnNext_Click(object sender, EventArgs e)
{
CurrentPage += 1;
lnkbtnPrevious.Visible = true;
DisplayCompanyDetails();
}
protected void dlPaging_ItemCommand(object source, DataListCommandEventArgs e)
{
if (e.CommandName.Equals("lnkbtnPaging"))
{
CurrentPage = Convert.ToInt16(e.CommandArgument.ToString()) - 1;
lnkbtnPrevious.Visible = true;
DisplayCompanyDetails();
//DisplayCompanyDetails1();
}
}
protected void dlPaging_ItemDataBound(object sender, DataListItemEventArgs e)
{
LinkButton lnkbtnPage = (LinkButton)e.Item.FindControl("lnkbtnPaging");
if (int.Parse(lnkbtnPage.CommandArgument.ToString()) - 1 == CurrentPage)
{
lnkbtnPage.Enabled = false;
lnkbtnPage.Font.Bold = false;
lnkbtnPage.ForeColor = System.Drawing.Color.OrangeRed;
}
}
public ArrayList Return_Pagination_Link(int TotalPages, int Total_Links, int SelectedPage)
{
int i = 1;
ArrayList arr = new ArrayList();
if (TotalPages < Total_Links)
{
for (i = 1; i <= TotalPages; i++)
{
arr.Add(i);
}
}
else
{
int startindex = SelectedPage;
int lowerbound = startindex - (Total_Links / 2);
int upperbound = startindex + (Total_Links / 2);
if (lowerbound < 1)
{
//calculate the difference and increment the upper bound
upperbound = upperbound + (1 - lowerbound);
lowerbound = 1;
}
//if upperbound is greater than total page is
if (upperbound > TotalPages)
{
//calculate the difference and decrement the lower bound
lowerbound = lowerbound - (upperbound - TotalPages);
upperbound = TotalPages;
}
for (i = lowerbound; i <= upperbound; i++)
{
arr.Add(i);
}
}
return arr;
}
<asp:DataList ID="dlPaging" runat="server" RepeatDirection="Horizontal" RepeatColumns="0"
OnItemCommand="dlPaging_ItemCommand" OnItemDataBound="dlPaging_ItemDataBound">
<ItemTemplate>
<table>
<tr>
<td>
<asp:LinkButton ID="lnkbtnPaging" runat="server" CommandArgument="<%# Container.DataItem %>"
Text='<%# Container.DataItem %>' CommandName="lnkbtnPaging" CssClass="button1"></asp:LinkButton>
</td>
<td width="2">
</td>
</tr>
</table>
</ItemTemplate>
</asp:DataList>
----->>write C# code for paging
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.Data.SqlClient;
public partial class people : System.Web.UI.Page
{
double rowCount;
string count = "";
string cname = "";
string queryCount;
double pageNo;
int pgNo;
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["conn"].ConnectionString);
protected void Page_Load(object sender, EventArgs e)
{
HtmlAnchor ach = (HtmlAnchor)Master.FindControl("b1");
ach.Attributes.Add("class", "activ");
if (!Page.IsPostBack)
{
if (Session["Userid"] != null)
{
Panel p1 = (Panel)Master.FindControl("WelcomePanel");
p1.Visible = true;
Panel p2 = (Panel)Master.FindControl("signpanel");
p2.Visible = false;
Label l1 = (Label)Master.FindControl("lblName");
l1.Text = Session["name"].ToString();
}
else
{
Panel p1 = (Panel)Master.FindControl("WelcomePanel");
p1.Visible = false ;
Panel p2 = (Panel)Master.FindControl("signpanel");
p2.Visible = true;
}
getpeopleadds();
getpeoples();
DisplayCompanyDetails();
}
}
public int CurrentPage
{
get
{
if (this.ViewState["CurrentPage"] == null)
return 0;
else
return Convert.ToInt16(this.ViewState["CurrentPage"].ToString());
}
set
{
this.ViewState["CurrentPage"] = value;
}
}
private void DisplayCompanyDetails()
{
string cn = "";
string qry = "";
int start = Convert.ToInt32(CurrentPage * 3 + 1);
int end = start + 3;
DataTable dt = new DataTable();
DataSet ds = new DataSet();
//qry = "set sql_select_limit=40;select * from Directory where Status='Y' order by Cid limit " + start + " ," + end;
qry = "select * from( SELECT *, ROW_NUMBER() OVER (ORDER BY PeopleId desc) as row FROM Peoples ) a WHERE Status='Y' and row >=" + start + " and row <" + end;
SqlCommand cmd = new SqlCommand(qry, con);
con.Open();
cmd.ExecuteNonQuery();
SqlDataAdapter dataAdapter = new SqlDataAdapter();
dataAdapter.SelectCommand = cmd;
dataAdapter.Fill(ds);
SqlCommand cmd1 = new SqlCommand("GetCount", con);
cmd1.CommandType = CommandType.StoredProcedure;
rowCount =Convert.ToInt32( cmd1.ExecuteScalar());
dataAdapter.Dispose();
con.Close();
dt = ds.Tables[0];
if (dt.Rows.Count > 0)
{
grdCategory .DataSource = dt;
grdCategory.DataBind();
dlPaging.Visible = true;
doPaging();
}
else
{
lnkbtnNext.Visible = false;
lnkbtnPrevious.Visible = true ;
dlPaging.Visible = true ;
}
}
private void doPaging()
{
pageNo = Math.Floor(rowCount / 3);
if (pageNo != 0 && rowCount > 3)
{
pageNo = pageNo + 1;
}
else
{
pageNo = pageNo;
}
pgNo = Convert.ToInt32(pageNo);
if (pgNo == 0)
lnkbtnNext.Visible = false;
ArrayList arr = Return_Pagination_Link(pgNo, 3, CurrentPage);
if (rowCount > 1)
{
dlPaging.Visible = true;
dlPaging.DataSource = arr;
dlPaging.DataBind();
}
else
{
dlPaging.Visible = false;
}
if (CurrentPage == 0)
{
if (CurrentPage == (pgNo - 1))
{
dlPaging.Visible = false;
lnkbtnNext.Visible = false;
}
lnkbtnPrevious.Visible = false;
}
if (CurrentPage < pageNo)
lnkbtnNext.Visible = true;
if (CurrentPage == (pageNo - 1))
{
lnkbtnNext.Visible = false;
}
}
protected void lnkbtnPrevious_Click(object sender, EventArgs e)
{
CurrentPage -= 1;
DisplayCompanyDetails();
}
protected void lnkbtnNext_Click(object sender, EventArgs e)
{
CurrentPage += 1;
lnkbtnPrevious.Visible = true;
DisplayCompanyDetails();
}
protected void dlPaging_ItemCommand(object source, DataListCommandEventArgs e)
{
if (e.CommandName.Equals("lnkbtnPaging"))
{
CurrentPage = Convert.ToInt16(e.CommandArgument.ToString()) - 1;
lnkbtnPrevious.Visible = true;
DisplayCompanyDetails();
//DisplayCompanyDetails1();
}
}
protected void dlPaging_ItemDataBound(object sender, DataListItemEventArgs e)
{
LinkButton lnkbtnPage = (LinkButton)e.Item.FindControl("lnkbtnPaging");
if (int.Parse(lnkbtnPage.CommandArgument.ToString()) - 1 == CurrentPage)
{
lnkbtnPage.Enabled = false;
lnkbtnPage.Font.Bold = false;
lnkbtnPage.ForeColor = System.Drawing.Color.OrangeRed;
}
}
public ArrayList Return_Pagination_Link(int TotalPages, int Total_Links, int SelectedPage)
{
int i = 1;
ArrayList arr = new ArrayList();
if (TotalPages < Total_Links)
{
for (i = 1; i <= TotalPages; i++)
{
arr.Add(i);
}
}
else
{
int startindex = SelectedPage;
int lowerbound = startindex - (Total_Links / 2);
int upperbound = startindex + (Total_Links / 2);
if (lowerbound < 1)
{
//calculate the difference and increment the upper bound
upperbound = upperbound + (1 - lowerbound);
lowerbound = 1;
}
//if upperbound is greater than total page is
if (upperbound > TotalPages)
{
//calculate the difference and decrement the lower bound
lowerbound = lowerbound - (upperbound - TotalPages);
upperbound = TotalPages;
}
for (i = lowerbound; i <= upperbound; i++)
{
arr.Add(i);
}
}
return arr;
}
No comments:
Post a Comment