GridView分页的实现

GridView分页的实现

要在GridView中加入

//实现分页

AllowPaging="true"

//一页数据10行

PageSize="10"

// 分页时触发的事件
OnPageIndexChanging="gvwDesignationName_PageIndexChanging"

在服务器事件里

复制代码
 
 
protected void gvwDesignationName_PageIndexChanging( object sender, GridViewPageEventArgs e) { gvwDesignationName.PageIndex = e.newIndex; bingDesignatioonName(); }
复制代码

这里我给出一个通用显示分页的模板(网上搜的,自己给出注释)


<PagerTemplate>
当前第:
//((GridView)Container.NamingContainer)就是为了得到当前的控件
<asp:LabelID="LabelCurrentPage"runat="server"Text="<%#((GridView)Container.NamingContainer).PageIndex+1%>"></asp:Label>
/共:
//得到分页页面的总数
<asp:LabelID="LabelPageCount"runat="server"Text="<%#((GridView)Container.NamingContainer).PageCount%>"></asp:Label>

//如果该分页是首分页,那么该连接就不会显示了.同时对应了自带识别的命令参数CommandArgument
<asp:LinkButtonID="LinkButtonFirstPage"runat="server"CommandArgument="First"CommandName="Page"
Visible
='<%#((GridView)Container.NamingContainer).PageIndex!=0%>'>首页</asp:LinkButton>
<asp:LinkButtonID="LinkButtonPreviousPage"runat="server"CommandArgument="Prev"
CommandName
="Page"Visible='<%#((GridView)Container.NamingContainer).PageIndex!=0%>'>上一页</asp:LinkButton>
//如果该分页是尾页,那么该连接就不会显示了
<asp:LinkButtonID="LinkButtonNextPage"runat="server"CommandArgument="Next"CommandName="Page"
Visible
='<%#((GridView)Container.NamingContainer).PageIndex!=((GridView)Container.NamingContainer).PageCount-1%>'>下一页</asp:LinkButton>
<asp:LinkButtonID="LinkButtonLastPage"runat="server"CommandArgument="Last"CommandName="Page"
Visible
='<%#((GridView)Container.NamingContainer).PageIndex!=((GridView)Container.NamingContainer).PageCount-1%>'>尾页</asp:LinkButton>
转到第
<asp:TextBoxID="txtNewPageIndex"runat="server"Width="20px"Text='<%#((GridView)Container.Parent.Parent).PageIndex+1%>'/>
//这里将CommandArgument即使点击该按钮e.newIndex值为3
<asp:LinkButtonID="btnGo"runat="server"CausesValidation="False"CommandArgument="-2"
CommandName
="Page"Text="GO"/>
</PagerTemplate>

对应该事件中代码为


protectedvoidgvwDesignationName_PageIndexChanging(objectsender,GridViewPageEventArgse)
{
//得到该控件
GridViewtheGrid=senderasGridView;
intnewPageIndex=0;
if(e.NewPageIndex==-3)
{
//点击了Go按钮
TextBoxtxtNewPageIndex=null;

//GridView较DataGrid提供了更多的API,获取分页块可以使用BottomPagerRow或者TopPagerRow,当然还增加了HeaderRow和FooterRow
GridViewRowpagerRow=theGrid.BottomPagerRow;

if(pagerRow!=null)
{
//得到text控件
txtNewPageIndex=pagerRow.FindControl("txtNewPageIndex")asTextBox;
}
if(txtNewPageIndex!=null)
{
//得到索引
newPageIndex=int.Parse(txtNewPageIndex.Text)-1;
}
}
else
{
//点击了其他的按钮
newPageIndex=e.NewPageIndex;
}
//防止新索引溢出
newPageIndex=newPageIndex<0?0:newPageIndex;
newPageIndex
=newPageIndex>=theGrid.PageCount?theGrid.PageCount-1:newPageIndex;

//得到新的值
theGrid.PageIndex=newPageIndex;

//重新绑定
bingDesignatioonName();
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值