62,073
社区成员
发帖
与我相关
我的任务
分享
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<asp:DataList ID="DataList1" runat="server">
<ItemTemplate>
<table cellpadding="0" cellspacing="0" style="width: 400px;">
<tr>
<td>
<asp:Label ID="Label1" runat="server" Font-Size="9pt" Text='<%# Eval("CustomerID") %>'
ForeColor="Black"></asp:Label>
</td>
</tr>
</table>
</ItemTemplate>
</asp:DataList>
<br />
<table cellpadding="0" cellspacing="0">
<tr>
<td style="width: 100px">
<asp:Label ID="Label5" runat="server" Font-Size="9pt" Text="当前页为 [ "></asp:Label>
<asp:Label ID="Label7" runat="server" Text="1" Font-Size="9pt"></asp:Label>
<asp:Label ID="Label3" runat="server" Font-Size="9pt" Text=" ]"></asp:Label>
</td>
<td style="width: 40px">
<asp:LinkButton ID="LinkButton2" runat="server" Font-Size="9pt" Font-Underline="False"
ForeColor="Red" OnClick="LinkButton2_Click">首页</asp:LinkButton>
</td>
<td style="width: 30px">
<asp:LinkButton ID="LinkButton3" runat="server" Font-Size="9pt" Font-Underline="False"
ForeColor="Red" OnClick="LinkButton3_Click" >上一页</asp:LinkButton>
</td>
<td style="width: 48px">
<asp:LinkButton ID="LinkButton4" runat="server" Font-Size="9pt" Font-Underline="False"
ForeColor="Red" OnClick="LinkButton4_Click" >下一页</asp:LinkButton>
</td>
<td style="width: 49px">
<asp:LinkButton ID="LinkButton5" runat="server" Font-Size="9pt" Font-Underline="False"
ForeColor="Red" OnClick="LinkButton5_Click" >尾页</asp:LinkButton>
</td>
<td align="center" style="width: 118px">
<asp:Label ID="Label10" runat="server" Text="总页为 [ " Font-Size="9pt" Width="52px"></asp:Label>
<asp:Label ID="Label2" runat="server" Font-Size="9pt"></asp:Label>
<asp:Label ID="Label4" runat="server" Font-Size="9pt" Text=" ]"></asp:Label>
</td>
</tr>
</table>
</form>
</body>
</html>
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
dlBind();
}
}
public void dlBind()
{
int curpage = Convert.ToInt32(this.Label7.Text);
PagedDataSource ps = new PagedDataSource();
DataSet ds = bind(); //这里是数据源
ps.DataSource = ds.Tables[0].DefaultView;
ps.AllowPaging = true; //是否可以分页
ps.PageSize = 10; //显示的数量,也就是每页要显示多少条记录
ps.CurrentPageIndex = curpage - 1; //取得当前页的页码
this.LinkButton3.Enabled = true;
this.LinkButton4.Enabled = true;
this.LinkButton5.Enabled = true;
this.LinkButton2.Enabled = true;
if (curpage == 1)
{
this.LinkButton2.Enabled = false;//不显示第一页按钮
this.LinkButton3.Enabled = false;//不显示上一页按钮
}
if (curpage == ps.PageCount)
{
this.LinkButton4.Enabled = false;//不显示下一页
this.LinkButton5.Enabled = false;//不显示最后一页
}
this.Label2.Text = Convert.ToString(ps.PageCount);
this.DataList1.DataSource = ps;
this.DataList1.DataKeyField = "CustomerID";
this.DataList1.DataBind();
}
private DataSet bind()
{
string connectString = "Server=(local);Integrated Security=True;Database=Northwind";
using (SqlConnection con = new SqlConnection(connectString))
{
con.Open();
SqlCommand command = con.CreateCommand();
command.CommandText = "select * from Customers";
DataSet ds = new DataSet();
SqlDataAdapter da = new SqlDataAdapter(command);
da.Fill(ds);
return ds;
}
}
protected void LinkButton2_Click(object sender, EventArgs e) //第一页
{
this.Label7.Text = "1"; //Label7.Text为当前页
this.dlBind();
}
protected void LinkButton3_Click(object sender, EventArgs e) //上一页
{
this.Label7.Text = Convert.ToString(Convert.ToInt32(this.Label7.Text) - 1);
this.dlBind();
}
protected void LinkButton4_Click(object sender, EventArgs e) //下一页
{
this.Label7.Text = Convert.ToString(Convert.ToInt32(this.Label7.Text) + 1);
this.dlBind();
}
protected void LinkButton5_Click(object sender, EventArgs e) //最后一页
{
this.Label7.Text = this.Label2.Text; //Label2.Text为总页数
this.dlBind();
}
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindCustomer();
}
PagerControl1.PageChangeEvent += new Web.Controls.PagerControl.PageChangeDeleagete(PagerControl1_PageChangeEvent);
}
void PagerControl1_PageChangeEvent(int pageIndex)
{
BindCustomer();
}
public void BindCustomer()
{
rpt_Customer.DataSource = bll.GetListByDataTable("*", getCondtion(), "CID", PagerControl1.PageIndex, pageSize, "0", out pageCount);
rpt_Customer.DataBind();
PagerControl1.setDataTable(pageCount, pageSize);
}
<table cellpadding="0" cellspacing="0" border="0" width="100%">
<tr>
<td align="right">
当前页数:<asp:Label ID="lblCurrentPage" runat="server" Text="Label"></asp:Label>
总页数:<asp:Label ID="lblTotalPage" runat="server" Text="Label"></asp:Label>
每页条数:<asp:Label ID="lblPageSize" runat="server" Text="Label"></asp:Label>
总记录条数:<asp:Label ID="lblTotal" runat="server" Text="Label"></asp:Label>
<asp:LinkButton ID="lbIndex" runat="server" OnClick="lbIndex_Click">首页</asp:LinkButton>
<asp:LinkButton ID="lbBack" runat="server" OnClick="lbBack_Click">上一页</asp:LinkButton>
<asp:LinkButton ID="lbNext" runat="server" OnClick="lbNext_Click">下一页</asp:LinkButton>
<asp:LinkButton ID="lbLast" runat="server" OnClick="lbLast_Click">尾页</asp:LinkButton>
<asp:TextBox ID="txtPageNum" runat="server" Width="28px" onkeyup="value=value.replace(/[^0-9]/g,'')"
onblur="value=value.replace(/[^0-9]/g,'')"></asp:TextBox>
<asp:Button ID="btnT" runat="server" Text="跳转" OnClick="btnT_Click" Style="height: 26px" class="coolbg np" />
</td>
</tr>
</table>
public partial class PagerControl : System.Web.UI.UserControl
{
public delegate void PageChangeDeleagete(int pageIndex); //定义委托
public event PageChangeDeleagete PageChangeEvent; //定义事件
protected void Page_Load(object sender, EventArgs e)
{
}
/// <summary>
/// 设置当前页码
/// </summary>
public int PageIndex
{
get
{
return ViewState["pageIndex"] == null ? 1 : Convert.ToInt32(ViewState["pageIndex"]);
}
set
{
ViewState["pageIndex"] = value;
}
}
/// <summary>
/// 设置数据源,及控件状态初始化
/// </summary>
/// <param name="pageSize">每页条数</param>
/// <param name="pageTotal">总条数</param>
/// <param name="refDt">数据源</param>
public void setDataTable(int pageTotal, int pageSize)
{
int currentPage = GetPageCount(pageTotal, pageSize);
if (PageIndex == 1)
{
lbIndex.Enabled = false;
lbBack.Enabled = false;
}
else
{
lbIndex.Enabled = true;
lbBack.Enabled = true;
}
if (PageIndex == currentPage)
{
lbNext.Enabled = false;
lbLast.Enabled = false;
}
else
{
lbNext.Enabled = true;
lbLast.Enabled = true;
}
lblTotalPage.Text = currentPage + "";
lblCurrentPage.Text = PageIndex + "";
lblPageSize.Text = pageSize + "";
lblTotal.Text = pageTotal + "";
}
/// <summary>
/// 获得总页码
/// </summary>
/// <param name="pageTotalCount">总记录数</param>
/// <param name="pageSize">当前记录</param>
/// <returns>总页码</returns>
private int GetPageCount(int pageTotalCount, int pageSize)
{
int num = 1;
if (pageTotalCount % pageSize == 0)
{
num = pageTotalCount / pageSize;
}
else
{
num = pageTotalCount / pageSize + 1;
}
return num;
}
/// <summary>
/// 首页
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void lbIndex_Click(object sender, EventArgs e)
{
PageIndex = 1;
PageChangeEvent(PageIndex);
}
/// <summary>
/// 上一页
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void lbBack_Click(object sender, EventArgs e)
{
PageIndex--;
PageChangeEvent(PageIndex);
}
/// <summary>
/// 下一页
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void lbNext_Click(object sender, EventArgs e)
{
PageIndex++;
PageChangeEvent(PageIndex);
}
/// <summary>
/// 最后一页
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void lbLast_Click(object sender, EventArgs e)
{
PageIndex = Convert.ToInt32(this.lblTotalPage.Text);
PageChangeEvent(PageIndex);
}
/// <summary>
/// 跳到目的页
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnT_Click(object sender, EventArgs e)
{
if (txtPageNum.Text.Trim() != "")
{
int num = Convert.ToInt32(txtPageNum.Text);
if (num <= Convert.ToInt32(this.lblTotalPage.Text) && num > 0)
{
PageIndex = num;
txtPageNum.Text = "";
PageChangeEvent(PageIndex);
}
}
}
}
/// <summary>
/// 记录当前页
/// </summary>
public int pageIndex
{
get { return Convert.ToInt32(ViewState["P_Index"]); }
set
{
ViewState["P_Index"] = value;
}
}
/// <summary>
/// 记录总页数
/// </summary>
public int PageSum
{
get { return Convert.ToInt32(ViewState["P_Sum"]); }
set
{
ViewState["P_Sum"] = value;
}
}
public const int pageSize = 10;//每页
#endregion
/// <summary>
/// 显示行数
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
AllowPage(this.ddlIndex, bll.GetEvaluateSum(), pageSize, this.lblMessage);
pageIndex = 0;
this.gvEvaluates.DataSource = bll.GetEvaluateTops(pageIndex);
this.gvEvaluates.DataBind();
LinkEnalbe(pageIndex, this.lbPrevious, this.lbNext, this.lbFirst, this.lbLastly, PageSum);
this.lblIndex.Text = (pageIndex + 1).ToString();
this.lblIndex.Text = (pageIndex + 1).ToString();//当前索引页
}
}
/// <summary>
/// 分页
/// </summary>
/// <param name="ddl">下拉框控件</param>
/// <param name="sum">数据总数</param>
/// <param name="pageSize">每页显示行数</param>
/// <param name="lbl">显示Lable</param>
private void AllowPage(DropDownList ddl, int sum, int pageSize, Label lbl)
{
PageSum = sum / pageSize;//获得有多少页
if (sum % pageSize > 0)
{
PageSum += 1;
}
ddl.Items.Clear();
for (int i = 1, len = PageSum; i <= len; i++)
{
ddl.Items.Add(i.ToString());
}
if (PageSum == 0)
{
ddl.Items.Add("无数据");
}
lbl.Text = "共" + (PageSum) + "页";
}
//转向指定分页
protected void btnGo_Click(object sender, EventArgs e)
{
int index = Convert.ToInt32(this.ddlIndex.SelectedValue);
index = index == 1 ? 0 : Convert.ToInt32(this.ddlIndex.Items[this.ddlIndex.SelectedIndex - 1].Value) * pageSize;
pageIndex = index / pageSize;
this.gvEvaluates.DataSource = bll.GetEvaluateTops(index);
this.gvEvaluates.DataBind();
LinkEnalbe(pageIndex, this.lbPrevious, this.lbNext, this.lbFirst, this.lbLastly, PageSum);
this.lblIndex.Text = (pageIndex + 1).ToString();//当前索引页
}
//下一页
protected void lbNext_Click(object sender, EventArgs e)
{
pageIndex++;
this.gvEvaluates.DataSource = bll.GetEvaluateTops(pageIndex * pageSize);
this.gvEvaluates.DataBind();
LinkEnalbe(pageIndex, this.lbPrevious, this.lbNext, this.lbFirst, this.lbLastly, PageSum);
this.lblIndex.Text = (pageIndex + 1).ToString();//当前索引页
}
//上一页
protected void lbPrevious_Click(object sender, EventArgs e)
{
pageIndex--;
this.gvEvaluates.DataSource = bll.GetEvaluateTops(pageIndex * pageSize);
this.gvEvaluates.DataBind();
LinkEnalbe(pageIndex, this.lbPrevious, this.lbNext, this.lbFirst, this.lbLastly, PageSum);
this.lblIndex.Text = (pageIndex + 1).ToString();//当前索引页
}
//首页
protected void lbFirst_Click(object sender, EventArgs e)
{
pageIndex = 0;
this.gvEvaluates.DataSource = bll.GetEvaluateTops(pageIndex);
this.gvEvaluates.DataBind();
LinkEnalbe(pageIndex, this.lbPrevious, this.lbNext, this.lbFirst, this.lbLastly, PageSum);
this.lblIndex.Text = (pageIndex + 1).ToString();//当前索引页
}
//尾页
protected void lbLastly_Click(object sender, EventArgs e)
{
pageIndex = (PageSum - 1);
this.gvEvaluates.DataSource = bll.GetEvaluateTops(pageIndex * pageSize);
this.gvEvaluates.DataBind();
LinkEnalbe(pageIndex, this.lbPrevious, this.lbNext, this.lbFirst, this.lbLastly, PageSum);
this.lblIndex.Text = (pageIndex + 1).ToString();//当前索引页
}