博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
gridview实现分页
阅读量:5951 次
发布时间:2019-06-19

本文共 3834 字,大约阅读时间需要 12 分钟。

前台代码:

<asp:GridView ID="GridView1" runat="server" AllowPaging="True"

            AutoGenerateColumns="False" DataKeyNames="ScoreID"
            DataSourceID="SqlDataSource1" onpageindexchanging="GridView1_PageIndexChanging" 
            Width="100%" EmptyDataText="没有数据记录!"
            BackColor="White" BorderColor="#E7E7FF" BorderStyle="None" BorderWidth="1px"
            CellPadding="3" GridLines="Horizontal">
            <AlternatingRowStyle BackColor="#F7F7F7" />
            <Columns>
                <asp:BoundField DataField="ScoreID" HeaderText="成绩编号" ReadOnly="True"
                    SortExpression="ScoreID" />
                <asp:BoundField DataField="CourseID" HeaderText="课程编号"
                    SortExpression="CourseID" />
                <asp:BoundField DataField="StuScore" HeaderText="学生成绩"
                    SortExpression="StuScore" />
                <asp:BoundField DataField="StuID" HeaderText="学生编号" SortExpression="StuID" />
            </Columns>
            <FooterStyle BackColor="#B5C7DE" ForeColor="#4A3C8C" />
            <HeaderStyle BackColor="#4A3C8C" Font-Bold="True" ForeColor="#F7F7F7" />
            <PagerStyle BackColor="#E7E7FF" ForeColor="#4A3C8C" HorizontalAlign="Right" />
            <PagerTemplate>
                当前第:
               <%-- //((GridView)Container.NamingContainer)就是为了得到当前的控件--%>
                <asp:Label ID="LabelCurrentPage" runat="server" Text="<%# ((GridView)Container.NamingContainer).PageIndex + 1 %>"></asp:Label>
                页/共:
               <%-- //得到分页页面的总数--%>
                <asp:Label ID="LabelPageCount" runat="server" Text="<%# ((GridView)Container.NamingContainer).PageCount %>"></asp:Label>
                页
                 <%--//如果该分页是首分页,那么该连接就不会显示了.同时对应了自带识别的命令参数CommandArgument--%>
                <asp:LinkButton ID="LinkButtonFirstPage" runat="server" CommandArgument="First" CommandName="Page"
                    Visible='<%#((GridView)Container.NamingContainer).PageIndex != 0 %>'>首页</asp:LinkButton>
                <asp:LinkButton ID="LinkButtonPreviousPage" runat="server" CommandArgument="Prev"
                    CommandName="Page" Visible='<%# ((GridView)Container.NamingContainer).PageIndex != 0 %>'>上一页</asp:LinkButton>
               <%--//如果该分页是尾页,那么该连接就不会显示了--%>
                <asp:LinkButton ID="LinkButtonNextPage" runat="server" CommandArgument="Next" CommandName="Page"
                    Visible='<%# ((GridView)Container.NamingContainer).PageIndex != ((GridView)Container.NamingContainer).PageCount - 1 %>'>下一页</asp:LinkButton>
                <asp:LinkButton ID="LinkButtonLastPage" runat="server" CommandArgument="Last" CommandName="Page"
                    Visible='<%# ((GridView)Container.NamingContainer).PageIndex != ((GridView)Container.NamingContainer).PageCount - 1 %>'>尾页</asp:LinkButton>
                转到第
                <asp:TextBox ID="txtNewPageIndex" runat="server" Width="20px" Text='<%# ((GridView)Container.Parent.Parent).PageIndex + 1 %>' />页
                <%--//这里将CommandArgument即使点击该按钮e.newIndex 值为3 --%>
                <asp:LinkButton ID="btnGo" runat="server" CausesValidation="False" CommandArgument="-2"
                    CommandName="Page" Text="GO" />
            </PagerTemplate>
            <RowStyle BackColor="#E7E7FF" ForeColor="#4A3C8C" />
            <SelectedRowStyle BackColor="#738A9C" Font-Bold="True" ForeColor="#F7F7F7" />
            <SortedAscendingCellStyle BackColor="#F4F4FD" />
            <SortedAscendingHeaderStyle BackColor="#5A4C9D" />
            <SortedDescendingCellStyle BackColor="#D8D8F0" />
            <SortedDescendingHeaderStyle BackColor="#3E3277" />
        </asp:GridView>

 

后台代码:

protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)        

{            

GridView theGrid = sender as GridView;            

int newPageIndex = 0;            

if (e.NewPageIndex == -3)            

{                

//点击了Go按钮                

TextBox txtNewPageIndex = null;                

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

GridViewRow pagerRow = theGrid.BottomPagerRow;                

if (pagerRow != null)                

{                    

//得到text控件                    

txtNewPageIndex = pagerRow.FindControl("txtNewPageIndex") as TextBox;                

}                

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;            

//重新绑定            

GridView1.DataBind();

        }

转载于:https://www.cnblogs.com/JCH344/p/6029201.html

你可能感兴趣的文章
大数据先行 传统金融转型需从体制上创新
查看>>
贵州出台首部大数据地方法规 数据开放引入负面清单
查看>>
全球以太网交换机和路由器市场:谁领跑?
查看>>
17家新创 组物联网国家队
查看>>
工信部:2020年启动5G商用
查看>>
2016年CIO的五个优先级
查看>>
移动办公之路的行业探索
查看>>
Berg Insight:移动M2M连接将实现长足发展
查看>>
2017年云计算行业新动向盘点
查看>>
雅虎因发送垃圾短信面临50万人集体诉讼
查看>>
可视化分析:洞见数据的秘诀
查看>>
《淘宝网开店 拍摄 修图 设计 装修 实战150招》一一1.15 如何掌握拍摄方向
查看>>
hdfs haadmin使用,DataNode动态上下线,NameNode状态切换管理,数据块的balance,HA下hdfs-api变化(来自学习资料)...
查看>>
Apache Tomcat 信息泄露漏洞(CVE-2016-8747)
查看>>
《HBase企业应用开发实战》—— 3.6 本章小结
查看>>
《UNIX环境高级编程(第3版)》——2.6 选项
查看>>
collectd 5.7.2 发布,系统监控和统计工具
查看>>
浏览器市场 Chrome 仍占主导地位,IE 继续下降
查看>>
《Adobe Photoshop CS4中文版经典教程》—第1课1.7节检查更新
查看>>
《Arduino开发实战指南:机器人卷》一3.6 编程原理与示例程序
查看>>