cs 代码
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
PageSize = 10;
sql="select * from products order by all_time desc ";
if(!Page.IsPostBack)
{
//计算总共有多少记录
RecordCount = CalculateRecord();
//计算总共有多少页
//取整
PageCount = RecordCount/PageSize;
if (RecordCount%PageSize > 0)
PageCount = PageCount + 1;
lblPageCount.Text = PageCount.ToString();
lblRecordCount.Text = RecordCount.ToString();
ViewState["PageCount"] = PageCount;
CurrentPage = 0;
ViewState["PageIndex"] = 0;
//绑定
ListBind();
}
}
public int CalculateRecord()
{
int intCount;
string strCount = "select count(*) as co from products";
SqlConnection Con=new SqlConnection(data.constr);
SqlCommand addCommand=new SqlCommand(strCount,Con);
addCommand.Connection.Open();
SqlDataReader dr;
dr=addCommand.ExecuteReader();
if(dr.Read())
{
intCount = Int32.Parse(dr["co"].ToString());
}
else
{
intCount = 0;
}
dr.Close();
return intCount;
}
ICollection CreateSource()
{
int StartIndex;
//设定导入的起终地址
StartIndex = CurrentPage*PageSize;
string strSel = "select * from products";
SqlConnection Con=new SqlConnection(data.constr);
DataSet ds = new DataSet();
SqlDataAdapter MyAdapter = new SqlDataAdapter(strSel,Con);
MyAdapter.Fill(ds,StartIndex,PageSize,"products");
return ds.Tables["products"].DefaultView;
}
public void ListBind()
{
dl1.DataSource = CreateSource();
dl1.DataBind();
lbnNextPage.Enabled = true;
lbnPrevPage.Enabled = true;
if(PageCount==0)
{
lblCurrentPage.Text = "0";
lbnNextPage.Enabled = false;
lbnPrevPage.Enabled = false;
}
else
{
if(CurrentPage==(PageCount-1)) lbnNextPage.Enabled = false;
if(CurrentPage==0) lbnPrevPage.Enabled = false;
lblCurrentPage.Text = (CurrentPage+1).ToString();
}
}
public void Page_OnClick(Object sender,CommandEventArgs e)
{
CurrentPage = (int)ViewState["PageIndex"];
PageCount = (int)ViewState["PageCount"];
string cmd = e.CommandName;
//判断cmd,以判定翻页方向
switch(cmd)
{
case "next":
if(CurrentPage<(PageCount-1)) CurrentPage++;
break;
case "prev":
if(CurrentPage>0) CurrentPage--;
break;
case "first":
CurrentPage=0;
break;
case "last":
CurrentPage=PageCount-1;
break;
}
ViewState["PageIndex"] = CurrentPage;
ListBind();
}
HTML 部分:
<TABLE id="Table2" cellSpacing="1" cellPadding="1" width="540" border="0">
<TR>
<TD align="right">共<asp:label id="lblRecordCount" runat="server">Label</asp:label>条记录
共<asp:label id="lblPageCount" runat="server">Label</asp:label>页 当前第<asp:label id="lblCurrentPage" runat="server">Label</asp:label>页
<asp:linkbutton id="lbnFirstPage" runat="server" CommandName="first" OnCommand="Page_OnClick">首页</asp:linkbutton>
<asp:linkbutton id="lbnPrevPage" CommandName="prev" OnCommand="Page_OnClick" Runat="server">上一页</asp:linkbutton>
<asp:linkbutton id="lbnNextPage" runat="server" CommandName="next" OnCommand="Page_OnClick">下一页</asp:linkbutton>
<asp:linkbutton id="lbnLastPage" runat="server" CommandName="last" OnCommand="Page_OnClick">尾页</asp:linkbutton></TD>
</TR>
</TABLE>
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
PageSize = 10;
sql="select * from products order by all_time desc ";
if(!Page.IsPostBack)
{
//计算总共有多少记录
RecordCount = CalculateRecord();
//计算总共有多少页
//取整
PageCount = RecordCount/PageSize;
if (RecordCount%PageSize > 0)
PageCount = PageCount + 1;
lblPageCount.Text = PageCount.ToString();
lblRecordCount.Text = RecordCount.ToString();
ViewState["PageCount"] = PageCount;
CurrentPage = 0;
ViewState["PageIndex"] = 0;
//绑定
ListBind();
}
}
public int CalculateRecord()
{
int intCount;
string strCount = "select count(*) as co from products";
SqlConnection Con=new SqlConnection(data.constr);
SqlCommand addCommand=new SqlCommand(strCount,Con);
addCommand.Connection.Open();
SqlDataReader dr;
dr=addCommand.ExecuteReader();
if(dr.Read())
{
intCount = Int32.Parse(dr["co"].ToString());
}
else
{
intCount = 0;
}
dr.Close();
return intCount;
}
ICollection CreateSource()
{
int StartIndex;
//设定导入的起终地址
StartIndex = CurrentPage*PageSize;
string strSel = "select * from products";
SqlConnection Con=new SqlConnection(data.constr);
DataSet ds = new DataSet();
SqlDataAdapter MyAdapter = new SqlDataAdapter(strSel,Con);
MyAdapter.Fill(ds,StartIndex,PageSize,"products");
return ds.Tables["products"].DefaultView;
}
public void ListBind()
{
dl1.DataSource = CreateSource();
dl1.DataBind();
lbnNextPage.Enabled = true;
lbnPrevPage.Enabled = true;
if(PageCount==0)
{
lblCurrentPage.Text = "0";
lbnNextPage.Enabled = false;
lbnPrevPage.Enabled = false;
}
else
{
if(CurrentPage==(PageCount-1)) lbnNextPage.Enabled = false;
if(CurrentPage==0) lbnPrevPage.Enabled = false;
lblCurrentPage.Text = (CurrentPage+1).ToString();
}
}
public void Page_OnClick(Object sender,CommandEventArgs e)
{
CurrentPage = (int)ViewState["PageIndex"];
PageCount = (int)ViewState["PageCount"];
string cmd = e.CommandName;
//判断cmd,以判定翻页方向
switch(cmd)
{
case "next":
if(CurrentPage<(PageCount-1)) CurrentPage++;
break;
case "prev":
if(CurrentPage>0) CurrentPage--;
break;
case "first":
CurrentPage=0;
break;
case "last":
CurrentPage=PageCount-1;
break;
}
ViewState["PageIndex"] = CurrentPage;
ListBind();
}
HTML 部分:
<TABLE id="Table2" cellSpacing="1" cellPadding="1" width="540" border="0">
<TR>
<TD align="right">共<asp:label id="lblRecordCount" runat="server">Label</asp:label>条记录
共<asp:label id="lblPageCount" runat="server">Label</asp:label>页 当前第<asp:label id="lblCurrentPage" runat="server">Label</asp:label>页
<asp:linkbutton id="lbnFirstPage" runat="server" CommandName="first" OnCommand="Page_OnClick">首页</asp:linkbutton>
<asp:linkbutton id="lbnPrevPage" CommandName="prev" OnCommand="Page_OnClick" Runat="server">上一页</asp:linkbutton>
<asp:linkbutton id="lbnNextPage" runat="server" CommandName="next" OnCommand="Page_OnClick">下一页</asp:linkbutton>
<asp:linkbutton id="lbnLastPage" runat="server" CommandName="last" OnCommand="Page_OnClick">尾页</asp:linkbutton></TD>
</TR>
</TABLE>