ASP.NET基础教程控件编程 .NET设计模式 高级应用
返回首页
当前位置: 首页 > ASP.NET教程 > 控件编程 >

GridView控件的绑定分页功能

时间:2013-06-09 09:38来源:未知 作者:admin 点击:我要投稿  高质量的ASP.NET空间,完美支持1.0/2.0/3.5/4.0/MVC等

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

   

这样的效果是在前台页面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;
        }
 

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

本站推荐文章:
本站热点文章:
顶一下
(0)
0%
踩一下
(1)
100%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色 情、暴力、反动的言论。
评价:
表情:
用户名:密码: 验证码:点击我更换图片