gridview的完美分页功能
来源:互联网 发布:spring AOP源码实现 编辑:程序博客网 时间:2024/04/28 14:56
终于实现了这个gridview的完美分页功能:
这是前台需要的代码设置:
<PagerTemplate>
<br />
<asp:Label ID="lblPage" runat="server" Text='<%# "page" + (((GridView)Container.NamingContainer).PageIndex + 1) +"/"+ ((GridView)Container.NamingContainer).PageCount %>'></asp:Label>
<asp:LinkButton ID="lbtnFirst" runat="server" Text="first" Enabled='<%# ((GridView)Container.NamingContainer).PageIndex != 0 %>'
CommandName="Page" CommandArgument="First"></asp:LinkButton>
<asp:LinkButton ID="lbtnPrev" runat="server" Text="pre" Enabled='<%# ((GridView)Container.NamingContainer).PageIndex != 0 %>'
CommandName="Page" CommandArgument="Prev"></asp:LinkButton>
<asp:PlaceHolder ID="numeric" runat="server"></asp:PlaceHolder>
<asp:LinkButton ID="lbtnNext" runat="server" Text="next" Enabled='<%# ((GridView)Container.NamingContainer).PageIndex != (((GridView)Container.NamingContainer).PageCount - 1) %>'
CommandName="Page" CommandArgument="Next"></asp:LinkButton>
<asp:LinkButton ID="lbtnLast" runat="server" Text="last" Enabled='<%# ((GridView)Container.NamingContainer).PageIndex != (((GridView)Container.NamingContainer).PageCount - 1) %>'
CommandName="Page" CommandArgument="Last"></asp:LinkButton>
</PagerTemplate>
后台的代码设置:
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "Page")
{
switch (e.CommandArgument.ToString())
{
case "First":
gvTest.PageIndex = 0;
break;
case "Prev":
if (gvTest.PageIndex > 0)
{
gvTest.PageIndex -= 1;
}
break;
case "Next":
if (gvTest.PageIndex < (gvTest.PageCount - 1))
{
gvTest.PageIndex += 1;
}
break;
case "Last":
gvTest.PageIndex = gvTest.PageCount - 1;
break;
default:
gvTest.PageIndex = Int32.Parse(e.CommandArgument.ToString()) - 1;
break;
}
}
else
{
if (e.CommandName == "Go")
{
DropDownList ddlJumpPage = (DropDownList)gvTest.BottomPagerRow.FindControl("ddlJumpPage");
int index = Int32.Parse(ddlJumpPage.SelectedValue);
gvTest.PageIndex = index - 1;
getData();
}
}
protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.Pager)
{
PlaceHolder ph = (PlaceHolder)e.Row.FindControl("numeric");
int startIndex = (gvTest.PageIndex) / 3 * 3 + 1;//根据当前页得到第一个页码
int endIndex = startIndex + 2;//显示10个页码
if (endIndex > gvTest.PageCount)//判断是否为最后一页
{
endIndex = gvTest.PageCount;
}
for (int i = startIndex; i <= endIndex; i++)//通过循环动态显示页码
{
var lbtn = new LinkButton { CommandName = "Page", CommandArgument = i.ToString(), Text = ""+ i };
ph.Controls.Add(i - 1 != gvTest.PageIndex ? (Control)lbtn : new LiteralControl(i.ToString()));
ph.Controls.Add(new LiteralControl(" "));
}
}
}
最终实现效果:
- gridview的完美分页功能
- GridView的分页功能
- GridView的分页功能?
- GridView 的分页功能
- Gridview的分页功能
- 自定义GridView的分页功能
- GridView自身的分页功能的使用方法
- 【转】ASP.NET-GridView的分页功能
- ASP.NET-GridView的分页功能
- ASP.NET-GridView的分页功能
- ASP.net-Gridview的分页功能
- ASP.NET-GridView的分页功能
- ASP.NET-GridView的分页功能
- ASP.NET-GridView的分页功能
- ASP.NET-GridView的分页功能
- ASP.NET-GridView的分页功能
- ASP.NET-GridView的分页功能
- ASP.NET-GridView的分页功能
- 硬盘分区、寻址和系统启动过程
- nio原理与实例
- 从头开始如何利用MFC分割窗口
- MSN网盘SkyDrive
- WPF中的释放内存(持续添加中....)
- gridview的完美分页功能
- 剖析网站遭遇的黑客的三次入侵
- Ubuntu 使用WP搭建博客
- Redhat5 网络配置(转)
- android关于声明不同的activity在androidmanifest.xml里
- VLC 编译时常出错找不到的文件 ---stdint.h
- 对于渐进式视频播放的一些总结
- TOMCAT下Log4j的使用
- IE6的几点不兼容问题