zoukankan      html  css  js  c++  java
  • GridView利用PagerTemplate做分页显示设置上一页下一页转到下拉转页

    效果如图:

    代码如下:

    aspx页:

    <asp:GridView ID="GridViewMain" runat="server"

    OnPageIndexChanging="GridViewMain_PageIndexChanging"

    ondatabound="GridViewMain_DataBound"

    PageSize="10">

    <PagerTemplate>
             <asp:Label ID="lblPage" runat="server" Text='<%# "第" + (((GridView)Container.NamingContainer).PageIndex + 1)  + "页/共" + (((GridView)Container.NamingContainer).PageCount) + "页" %> '></asp:Label> 
             <asp:LinkButton ID="lbnFirst" runat="Server" Text="首页"  Enabled='<%# ((GridView)Container.NamingContainer).PageIndex != 0 %>' CommandName="Page" CommandArgument="First" ></asp:LinkButton> 
            <asp:LinkButton ID="lbnPrev" runat="server" Text="上一页" Enabled='<%# ((GridView)Container.NamingContainer).PageIndex != 0 %>' CommandName="Page" CommandArgument="Prev"  ></asp:LinkButton> 
            <asp:LinkButton ID="lbnNext" runat="Server" Text="下一页" Enabled='<%# ((GridView)Container.NamingContainer).PageIndex != (((GridView)Container.NamingContainer).PageCount - 1) %>' CommandName="Page" CommandArgument="Next" ></asp:LinkButton> 
             <asp:LinkButton ID="lbnLast" runat="Server" Text="尾页"   Enabled='<%# ((GridView)Container.NamingContainer).PageIndex != (((GridView)Container.NamingContainer).PageCount - 1) %>' CommandName="Page" CommandArgument="Last" ></asp:LinkButton> 
             到第<asp:dropdownlist id="PageDropDownList"
                      autopostback="true"
                      onselectedindexchanged="PageDropDownList_SelectedIndexChanged"
                      runat="server"/> 页 
             
         </PagerTemplate>

    cs页

     protected void GridViewMain_PageIndexChanging(object sender,GridViewPageEventArgs e)    

    {        

    GridViewMain.PageIndex = e.NewPageIndex;        

    InitListFillData();   //数据绑定

      }    

    protected void PageDropDownList_SelectedIndexChanged(Object sender, EventArgs e)    

    {       

      // Retrieve the pager row.        

    GridViewRow pagerRow = GridViewMain.BottomPagerRow;       

      // Retrieve the PageDropDownList DropDownList from the bottom pager row.        

    DropDownList pageList = (DropDownList)pagerRow.Cells[0].FindControl("PageDropDownList");       

      // Set the PageIndex property to display that page selected by the user.       

      GridViewMain.PageIndex = pageList.SelectedIndex;        

    InitListFillData();   //数据绑定 

    }    

    protected void GridViewMain_DataBound(Object sender, EventArgs e)    

    {      

    GridViewMain.BottomPagerRow.Visible = true;//只有一页数据的时候也再下面显示pagerrow,需要top的再加Top

       // Retrieve the pager row.        

    GridViewRow pagerRow = GridViewMain.BottomPagerRow;        

    // Retrieve the DropDownList and Label controls from the row.        

    DropDownList pageList = (DropDownList)pagerRow.Cells[0].FindControl("PageDropDownList");        

    Label pageLabel = (Label)pagerRow.Cells[0].FindControl("CurrentPageLabel");       

      if (pageList != null)        

    {            

    // Create the values for the DropDownList control based on           

      // the  total number of pages required to display the data            

    // source.            

    for (int i = 0; i < GridViewMain.PageCount; i++)           

      {                

    // Create a ListItem object to represent a page.                

    int pageNumber = i + 1;              

       ListItem item = new ListItem(pageNumber.ToString());                

    // If the ListItem object matches the currently selected                

    // page, flag the ListItem object as being selected. Because               

      // the DropDownList control is recreated each time the pager               

      // row gets created, this will persist the selected item in                

    // the DropDownList control.                  

    if (i == GridViewMain.PageIndex)                

    {                   

      item.Selected = true;                

    }                

    // Add the ListItem object to the Items collection of the               

      // DropDownList.                

    pageList.Items.Add(item);         

        }       

      }       

      if (pageLabel != null)      

       {            

    // Calculate the current page number.            

    int currentPage = GridViewMain.PageIndex + 1;

                // Update the Label control with the current page information.           

      pageLabel.Text = "Page " + currentPage.ToString() +            

       " of " + GridViewMain.PageCount.ToString();        

    }    

    }

  • 相关阅读:
    ios开发,NSFileManager的使用
    iOS开发-常用第三方开源框架介绍(绝对够你用了)
    iOS开发常用第三方开源框架
    对佛学和个人发展的思考总结(十八)心流、非人情网络、穷人、人生机会、平衡计分卡
    php 判断字符串中包含重复相同的次数 array_count_values str_split max 函数组合使用
    存储过程一次性返回多个数据集,逻辑层与前端处理
    动态改变div背景颜色
    在asp.net mvc应用中使用vue.js
    angularjs单一页面中高频访问相同web api,出现阻塞和等待
    Windows安装配置OpenGrok
  • 原文地址:https://www.cnblogs.com/lilyshy/p/5556138.html
Copyright © 2011-2022 走看看