protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
PageBind();
}
}
private void PageBind()
{
DataTable dt = 你获取的数据集;
Auto_Pages(dt, );//分页
}
public void Auto_Pages(DataTable ec, int pagecount, Label lblCurrentPage, HyperLink lnkFirst_D, HyperLink lnkPrev_D, HyperLink lnkNext_D, HyperLink lnkLast_D, Repeater myGrid, string myurl)
{
PagedDataSource objPds = new PagedDataSource();
objPds.DataSource = ec.DefaultView;
objPds.AllowPaging = true;
objPds.PageSize = pagecount;
string TotalPage = objPds.PageCount.ToString();
string TotalCount = "<font color=blue>" + ec.Rows.Count.ToString() + "</font>"; if (ec.Rows.Count > 0)
{
lblCurrentPage.Visible = true;
lnkFirst_D.Visible = true;
lnkLast_D.Visible = true;
lnkNext_D.Visible = true;
lnkPrev_D.Visible = true;
}
int CurPage; //当前页面从Page查询参数获取
if (Request.QueryString["Page"] != null && Request.QueryString["Page"].ToString() != "")
CurPage = Convert.ToInt32(Maticsoft.BLL.Common.Filter(Request.QueryString["Page"].ToString()));
else
CurPage = 1; objPds.CurrentPageIndex = CurPage - 1;
lblCurrentPage.Text = "总记录数:" + TotalCount + "条 " + " 第<font color=blue>" + CurPage.ToString() + "</font> / " + TotalPage + "页 ";
lnkLast_D.Text = "末页";
lab1.InnerHtml = " <input type=text size=2 maxlength=4 style='width:30px' id='my_jump' name='my_jump' onbeforepaste=\"clipboardData.setData('text',clipboardData.getData('text').replace(/\\D/g,''))\" onkeyup=\"if(event.keyCode !=37 && event.keyCode != 39) value=value.replace(/\\D/g,'');\"> <input type=button value='Go' onclick=\"if(document.all.my_jump.value!='') { if(parseInt(document.all.my_jump.value)>0 && parseInt(document.all.my_jump.value)<=" + TotalPage + "){location.href='" + Request.CurrentExecutionFilePath + "?Page='+ document.all.my_jump.value +'" + myurl + "';} } \"> ";
if (!objPds.IsFirstPage)
{
lnkPrev_D.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(CurPage - 1) + myurl;
lnkFirst_D.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=1" + myurl;
}
else
{
lnkPrev_D.Visible = false;
lnkFirst_D.Visible = false;
}
if (!objPds.IsLastPage)
{
lnkNext_D.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(CurPage + 1) + myurl;
lnkLast_D.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + TotalPage + myurl;
}
else
{
lnkNext_D.Visible = false;
lnkLast_D.Visible = false;
lab1.Visible = false;
} //把PagedDataSource 对象赋给Repeater控件
//查询页码出错自选择第一页
try
{
myGrid.DataSource = objPds;
myGrid.DataBind();
}
catch
{
objPds.CurrentPageIndex = 0;
lblCurrentPage.Text = "总记录数:" + TotalCount + "条 " + " 第<font color=blue>1</font> / " + TotalPage + "页 ";
myGrid.DataSource = objPds;
myGrid.DataBind();
}
}
<asp:Label ID="txt_pageCount" runat="server"></asp:Label>
<asp:HyperLink ID="hyFirst" runat="server">首页</asp:HyperLink>
<asp:HyperLink ID="hyLast" runat="server">上一页</asp:HyperLink>
<asp:HyperLink ID="hyNext" runat="server">下一页</asp:HyperLink>
<asp:HyperLink ID="hyFoot" runat="server">末页</asp:HyperLink>
这是我找的一个例子。
{
if (!IsPostBack)
{
PageBind();
}
}
private void PageBind()
{
DataTable dt = 你获取的数据集;
Auto_Pages(dt, );//分页
}
public void Auto_Pages(DataTable ec, int pagecount, Label lblCurrentPage, HyperLink lnkFirst_D, HyperLink lnkPrev_D, HyperLink lnkNext_D, HyperLink lnkLast_D, Repeater myGrid, string myurl)
{
PagedDataSource objPds = new PagedDataSource();
objPds.DataSource = ec.DefaultView;
objPds.AllowPaging = true;
objPds.PageSize = pagecount;
string TotalPage = objPds.PageCount.ToString();
string TotalCount = "<font color=blue>" + ec.Rows.Count.ToString() + "</font>"; if (ec.Rows.Count > 0)
{
lblCurrentPage.Visible = true;
lnkFirst_D.Visible = true;
lnkLast_D.Visible = true;
lnkNext_D.Visible = true;
lnkPrev_D.Visible = true;
}
int CurPage; //当前页面从Page查询参数获取
if (Request.QueryString["Page"] != null && Request.QueryString["Page"].ToString() != "")
CurPage = Convert.ToInt32(Maticsoft.BLL.Common.Filter(Request.QueryString["Page"].ToString()));
else
CurPage = 1; objPds.CurrentPageIndex = CurPage - 1;
lblCurrentPage.Text = "总记录数:" + TotalCount + "条 " + " 第<font color=blue>" + CurPage.ToString() + "</font> / " + TotalPage + "页 ";
lnkLast_D.Text = "末页";
lab1.InnerHtml = " <input type=text size=2 maxlength=4 style='width:30px' id='my_jump' name='my_jump' onbeforepaste=\"clipboardData.setData('text',clipboardData.getData('text').replace(/\\D/g,''))\" onkeyup=\"if(event.keyCode !=37 && event.keyCode != 39) value=value.replace(/\\D/g,'');\"> <input type=button value='Go' onclick=\"if(document.all.my_jump.value!='') { if(parseInt(document.all.my_jump.value)>0 && parseInt(document.all.my_jump.value)<=" + TotalPage + "){location.href='" + Request.CurrentExecutionFilePath + "?Page='+ document.all.my_jump.value +'" + myurl + "';} } \"> ";
if (!objPds.IsFirstPage)
{
lnkPrev_D.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(CurPage - 1) + myurl;
lnkFirst_D.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=1" + myurl;
}
else
{
lnkPrev_D.Visible = false;
lnkFirst_D.Visible = false;
}
if (!objPds.IsLastPage)
{
lnkNext_D.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(CurPage + 1) + myurl;
lnkLast_D.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + TotalPage + myurl;
}
else
{
lnkNext_D.Visible = false;
lnkLast_D.Visible = false;
lab1.Visible = false;
} //把PagedDataSource 对象赋给Repeater控件
//查询页码出错自选择第一页
try
{
myGrid.DataSource = objPds;
myGrid.DataBind();
}
catch
{
objPds.CurrentPageIndex = 0;
lblCurrentPage.Text = "总记录数:" + TotalCount + "条 " + " 第<font color=blue>1</font> / " + TotalPage + "页 ";
myGrid.DataSource = objPds;
myGrid.DataBind();
}
}
<asp:Label ID="txt_pageCount" runat="server"></asp:Label>
<asp:HyperLink ID="hyFirst" runat="server">首页</asp:HyperLink>
<asp:HyperLink ID="hyLast" runat="server">上一页</asp:HyperLink>
<asp:HyperLink ID="hyNext" runat="server">下一页</asp:HyperLink>
<asp:HyperLink ID="hyFoot" runat="server">末页</asp:HyperLink>
这是我找的一个例子。
你随便扒点代码粘贴进去就是了,反正你也不会写程序。
刚学.NET还有很多不懂的地方。可能描述的不清楚,其实我就是想在打印多页的时候每一页都带表头,现在只有第一页有,想改进下功能。谢谢!