//实现分页 后台代码,这里gridview命名为:gv ,希望对你有帮助
try
{
LblCurrentIndex.Text = "第 " + (gv.PageIndex + 1).ToString() + " 页";
LblPageCount.Text = "共 " + gv.PageCount.ToString() + " 页";
LblRecordCount.Text = "总共 " + ds.Tables[0].Rows.Count.ToString() + " 条记录";
if (ds.Tables[0].Rows.Count == 0)//如果没有记录显示
{
btnFirst.Enabled = false;
btnPrev.Enabled = false;
btnNext.Enabled = false;
btnLast.Enabled = false;
LblCurrentIndex.Enabled = false;
LblPageCount.Enabled = false;
LblRecordCount.Enabled = false;
}
else if (gv.PageCount == 1)//只有一页记录可以显示
{
btnFirst.Enabled = false;
btnPrev.Enabled = false;
btnNext.Enabled = false;
btnLast.Enabled = false;
}
else //有多页记录
{
if (CurrentPageIndex == 0) //当前为第一页
{
btnFirst.Enabled = false;
btnPrev.Enabled = false;
btnNext.Enabled = true;
btnLast.Enabled = true;
}
else if (CurrentPageIndex == gv.PageCount - 1)//当前为最后一页
{
btnFirst.Enabled = true;
btnPrev.Enabled = true;
btnNext.Enabled = false;
btnLast.Enabled = false;
}
else //当前为第一页与最后一页之间
{
btnFirst.Enabled = true;
btnPrev.Enabled = true;
btnNext.Enabled = true;
btnLast.Enabled = true;
}
// 计算生成分页页码,分别为:"首 页" "上一页" "下一页" "尾 页"
btnFirst.CommandName = "1";
btnPrev.CommandName = (gv.PageIndex == 0 ? "1" : gv.PageIndex.ToString());
btnNext.CommandName = (gv.PageCount == 1 ? gv.PageCount.ToString() : (gv.PageIndex + 2).ToString());
btnLast.CommandName = gv.PageCount.ToString();
}
}
catch (Exception ex)
{
Response.Write("数据库错误,错误原因:" + ex.Message);
Response.End();
}
public int CurrentPageIndex //获取当前页
{
get { return this.gv.PageIndex; }
set { this.gv.PageIndex = value; }
}
//前台代码:
<tr>
<td >
<asp:GridView ID="gv" runat="server" >
</asp:GridView>
</td>
</tr>
<tr>
<td style="height:25px; background-color:#5D7B9D">
<asp:LinkButton ID="btnFirst" CommandArgument="first" OnClick="PagerButtonClick" runat="server">首 页 </asp:LinkButton>
<asp:LinkButton ID="btnPrev" CommandArgument="prev" OnClick="PagerButtonClick" runat="server">上一页 </asp:LinkButton>
<asp:LinkButton ID="btnNext" CommandArgument="next" OnClick="PagerButtonClick" runat="server">下一页 </asp:LinkButton>
<asp:LinkButton ID="btnLast" CommandArgument="last" OnClick="PagerButtonClick" runat="server">尾 页 </asp:LinkButton>
</td>
</tr>
try
{
LblCurrentIndex.Text = "第 " + (gv.PageIndex + 1).ToString() + " 页";
LblPageCount.Text = "共 " + gv.PageCount.ToString() + " 页";
LblRecordCount.Text = "总共 " + ds.Tables[0].Rows.Count.ToString() + " 条记录";
if (ds.Tables[0].Rows.Count == 0)//如果没有记录显示
{
btnFirst.Enabled = false;
btnPrev.Enabled = false;
btnNext.Enabled = false;
btnLast.Enabled = false;
LblCurrentIndex.Enabled = false;
LblPageCount.Enabled = false;
LblRecordCount.Enabled = false;
}
else if (gv.PageCount == 1)//只有一页记录可以显示
{
btnFirst.Enabled = false;
btnPrev.Enabled = false;
btnNext.Enabled = false;
btnLast.Enabled = false;
}
else //有多页记录
{
if (CurrentPageIndex == 0) //当前为第一页
{
btnFirst.Enabled = false;
btnPrev.Enabled = false;
btnNext.Enabled = true;
btnLast.Enabled = true;
}
else if (CurrentPageIndex == gv.PageCount - 1)//当前为最后一页
{
btnFirst.Enabled = true;
btnPrev.Enabled = true;
btnNext.Enabled = false;
btnLast.Enabled = false;
}
else //当前为第一页与最后一页之间
{
btnFirst.Enabled = true;
btnPrev.Enabled = true;
btnNext.Enabled = true;
btnLast.Enabled = true;
}
// 计算生成分页页码,分别为:"首 页" "上一页" "下一页" "尾 页"
btnFirst.CommandName = "1";
btnPrev.CommandName = (gv.PageIndex == 0 ? "1" : gv.PageIndex.ToString());
btnNext.CommandName = (gv.PageCount == 1 ? gv.PageCount.ToString() : (gv.PageIndex + 2).ToString());
btnLast.CommandName = gv.PageCount.ToString();
}
}
catch (Exception ex)
{
Response.Write("数据库错误,错误原因:" + ex.Message);
Response.End();
}
public int CurrentPageIndex //获取当前页
{
get { return this.gv.PageIndex; }
set { this.gv.PageIndex = value; }
}
//前台代码:
<tr>
<td >
<asp:GridView ID="gv" runat="server" >
</asp:GridView>
</td>
</tr>
<tr>
<td style="height:25px; background-color:#5D7B9D">
<asp:LinkButton ID="btnFirst" CommandArgument="first" OnClick="PagerButtonClick" runat="server">首 页 </asp:LinkButton>
<asp:LinkButton ID="btnPrev" CommandArgument="prev" OnClick="PagerButtonClick" runat="server">上一页 </asp:LinkButton>
<asp:LinkButton ID="btnNext" CommandArgument="next" OnClick="PagerButtonClick" runat="server">下一页 </asp:LinkButton>
<asp:LinkButton ID="btnLast" CommandArgument="last" OnClick="PagerButtonClick" runat="server">尾 页 </asp:LinkButton>
</td>
</tr>