zoukankan      html  css  js  c++  java
  • GridView控件的绑定分页功能

    先截个图给大家看看,要实现的效果是什么样的,如下图:

       

    这样的效果是在前台页面GridView控件代码中绑定出来了,就是将一段代码粘贴到gridview中会自动出现这种功能,而且这种效果除了跳转功能需要在后台cs文件中写代码,前面的都不需要。。。

    Gridview控件绑定后台数据库,前台页面设计我就不多说,我主要说的是分页功能代码具体放在Gridview什么位置。前台gridview形如:

    <asp:GridView>

    <Columns></Columns>

    </asp:GridView>

    下面要将分页功能的代码粘贴到</Columns>在这里</asp:GridView>这俩个标签之间。具体代码示例:

    <PagerTemplate>
                <div><asp:Label ID="lblPageIndex" runat="server" Text="<%#((GridView)Container.Parent.Parent).PageIndex + 1 
    
    %>"></asp:Label>
                页            
                
                共
                <asp:Label ID="lblPageCount" runat="server" Text="<%# ((GridView)Container.Parent.Parent).PageCount 
    
    %>"></asp:Label>
    <asp:LinkButton ID="btnFirst" runat="server" CausesValidation="False" CommandArgument="First" 
    
    CommandName="Page" Text="首页"></asp:LinkButton>
                <asp:LinkButton ID="btnPrev" runat="server" CausesValidation="False" CommandArgument="Prev" CommandName="Page" 
    
    Text="上一页"></asp:LinkButton> 
                 <asp:LinkButton ID="btnNext" runat="server" CausesValidation="False" CommandArgument="Next"  
    
    CommandName="Page" Text="下一页"></asp:LinkButton>  
                 <asp:LinkButton ID="btnLast" runat="server" CausesValidation="False" CommandArgument="Last"  
    
    CommandName="Page" Text="尾页"></asp:LinkButton>          
                 <asp:TextBox ID="txtNewPageIndex" runat="server" Text="<%# ((GridView)Container.Parent.Parent).PageIndex + 
    
    1%>" Width="66px"></asp:TextBox>
                  <asp:LinkButton ID="btnGoTo" runat="server"  CommandArgument="-1"  CommandName="Page"
                Text="跳转" OnClick="btnGoTo_Click"></asp:LinkButton>       
                 </div>
             </PagerTemplate>

    只要是将这段代码附加到前台页面中,基本上就不用管了,“第多少页,共多少页,首页,上一页,下一页,尾页”,这些功能的实现就已经自动绑定了,无需再操作后台代码。。。

    说一点,跳转功能,需要gridview控件绑定一个事件,就是PageIndexChanging事件,cs代码如下:

            /// <summary>
            /// GridView分页
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            protected void GridView_PageIndexChanging(object sender, GridViewPageEventArgs e)
            {
                GridView.DataSource = (DataSet)ViewState["ds"];
                if (e.NewPageIndex < 0)
                {
                    if (int.Parse(((TextBox)GridView.BottomPagerRow.FindControl("txtNewPageIndex")).Text) <= 0)
                    {
                        GridView.PageIndex = 0;
                    }
                    else
                    {
                        GridView.PageIndex = int.Parse(((TextBox)GridView.BottomPagerRow.FindControl("txtNewPageIndex")).Text) - 1;
                    }
                }
                else
                {
                    GridView.PageIndex = e.NewPageIndex;
                }
                GridView.Visible = true;
                BindData_Registration();
            }

    跳转功能,还有一个就是跳转按钮的Click事件,代码如下:

            /// <summary>
            /// 分页跳转
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            protected void btnGoTo_Click(object sender, EventArgs e)
            {
                GridView.DataSource = (DataSet)ViewState["ds"];
                if (int.Parse(((TextBox)GridView.BottomPagerRow.FindControl("txtNewPageIndex")).Text) >= GridView.PageCount)
                {
                    GridView.PageIndex = GridView.PageCount - 1;
                }
                else
                {
                    GridView.PageIndex = int.Parse(((TextBox)GridView.BottomPagerRow.FindControl("txtNewPageIndex")).Text) - 1;
                }
                BindData_Registration();
                GridView.BottomPagerRow.Visible = true;
            }

    如此,再加载运行您的程序,分页功能就可以使用了。。。

    当然,也有很多的分页功能样式,如您自己喜欢,或者项目上的要求去实现吧。

    一家之言,仅供参考!!!

  • 相关阅读:
    前端知识总汇
    html基础
    linux密码修改实验
    [ 转 ] 为 phpstorm 自定义默认 Web 服务器
    简易 PHP 教程小记
    EXPORT Man Information for Linux use COMMAND col
    CiSCO 交换机配置 SSH 登陆
    修复已损坏的交换机IMG
    Jupyter Notebook远程服务器配置[转]
    Linux 调节分辨率
  • 原文地址:https://www.cnblogs.com/litao4047/p/3123597.html
Copyright © 2011-2022 走看看