zoukankan      html  css  js  c++  java
  • ASP.NET: PagedDataSource

    图,
     

    代码
    1,前台
     <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default3.aspx.cs" Inherits="Default3" %>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title></title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
        <h1>PagedDataSource对象的应用 ylb, tech 2012/6/14</h1>
            <asp:GridView ID="gvwList" runat="server" Width="838px">
            </asp:GridView>
            <asp:PlaceHolder ID="phPageBar" runat="server">
            <table width="850">
                <tr>
                    <td>
                        &nbsp;&nbsp; 共找到<asp:Label ID="lblCount" runat="server" Text="100"></asp:Label>记录,当前第<asp:Label
                            ID="lblCurrent" runat="server" Text="1"></asp:Label>&nbsp;
                    </td>
                    <td><asp:TextBox ID="txtJump" runat="server" Width="20" Text="1"></asp:TextBox>
                        <asp:RangeValidator ID="rvTxtJump" runat="server" ErrorMessage="页码有误" ForeColor="Red"
                            ControlToValidate="txtJump" Display="Dynamic" MinimumValue="1" Type="Integer"></asp:RangeValidator>
                        /共<asp:Label ID="lblPageSum" runat="server" Text="9"></asp:Label><asp:Button ID="btnJump" runat="server" Text="跳转" OnClick="btnJump_Click" />
                        &nbsp;<asp:Button ID="btnFirstPage" runat="server" Text="首页" OnClick="btnFirstPage_Click" />
                        &nbsp;<asp:Button ID="btnCurrentPage" runat="server" Text="上一页" OnClick="btnCurrentPage_Click" />
                        &nbsp;<asp:Button ID="btnNextPage" runat="server" Text="下一页" OnClick="btnNextPage_Click" />
                        &nbsp;<asp:Button ID="btnEndPage" runat="server" Text="尾页" OnClick="btnEndPage_Click" />
                        &nbsp;<asp:DropDownList ID="dropPageSize" runat="server" Width="40" AutoPostBack="True"
                            OnSelectedIndexChanged="dropPageSize_SelectedIndexChanged">
                            <asp:ListItem>20</asp:ListItem>
                            <asp:ListItem>50</asp:ListItem>
                        </asp:DropDownList>
                    </td>
                </tr>
                <tr>
                    <td>
                        &nbsp
                    </td>
                </tr>
            </table>
            </asp:PlaceHolder>
           
        </div>
        </form>
    </body>
    </html>
    2,后台
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    
    public partial class Default3 : System.Web.UI.Page
    {
        private void BindShow(int currentpage,int pagesize)
        {
            //分页对象
            PagedDataSource pd = new PagedDataSource();
            pd.DataSource = TaoTaoOper.GetAll();   //1,把集合对象写这儿
    
            #region 分页对象的配置
            lblCount.Text = pd.Count.ToString();    //总记录数
            pd.AllowPaging = true;
            pd.PageSize = pagesize;                 //分页大小
            lblPageSum.Text = pd.PageCount.ToString();      //总页数
            pd.CurrentPageIndex = currentpage - 1;  //设置页码索引
            txtJump.Text = currentpage.ToString();  //当前页
            lblCurrent.Text = currentpage.ToString(); //当前页码
            #endregion
    
            #region 传统分页
            //首页
            if (currentpage > 1)
                btnFirstPage.Enabled = true;
            else
                btnFirstPage.Enabled = false;
    
            //上一页
            if (currentpage > 1)
                btnCurrentPage.Enabled = true;
            else
                btnCurrentPage.Enabled = false;
    
            //下一页
            if (currentpage < pd.PageCount)
                btnNextPage.Enabled = true;
            else
                btnNextPage.Enabled = false;
            //尾页
            if (currentpage < pd.PageCount)
                btnEndPage.Enabled = true;
            else
                btnEndPage.Enabled = false;
            #endregion
            rvTxtJump.MaximumValue = pd.PageCount.ToString(); //跳转页码验证
    
            //2,GridView控件邦定
            gvwList.DataSource = pd;
            gvwList.DataBind();
        }
      
        #region 分页相关事件
        protected void dropPageSize_SelectedIndexChanged(object sender, EventArgs e)
        {
            int pagesize = Convert.ToInt32(dropPageSize.SelectedValue); //分页大小
            int currentpage = 1;                                        //当前页码 重新加载分页邦定
    
            //调用方法
            BindShow(currentpage, pagesize);
        }
        protected void btnJump_Click(object sender, EventArgs e)
        {
            //跳转页码
            int currentpage =Convert.ToInt32( txtJump.Text);
            int pagesize = Convert.ToInt32(dropPageSize.SelectedValue); //分页大小
    
            //分页大小改变
            BindShow(currentpage, pagesize);
        }
        protected void btnFirstPage_Click(object sender, EventArgs e)
        {
            int pagesize = Convert.ToInt32(dropPageSize.SelectedValue); //分页大小
            //调用方法
            BindShow(1, pagesize);
        }
        protected void btnCurrentPage_Click(object sender, EventArgs e)
        {
            int pagesize = Convert.ToInt32(dropPageSize.SelectedValue); //分页大小
            int currentpage = Convert.ToInt32(txtJump.Text.Trim())-1;
            //调用方法
            BindShow(currentpage, pagesize);
        }
        protected void btnNextPage_Click(object sender, EventArgs e)
        {
            int pagesize = Convert.ToInt32(dropPageSize.SelectedValue); //分页大小
            int currentpage = Convert.ToInt32(txtJump.Text.Trim()) + 1;
            //调用方法
            BindShow(currentpage, pagesize);
        }
        protected void btnEndPage_Click(object sender, EventArgs e)
        {
            int pagesize = Convert.ToInt32(dropPageSize.SelectedValue); //分页大小
            int pageCount = Convert.ToInt32(lblPageSum.Text);
            //调用方法
            BindShow(pageCount, pagesize);
        }
        #endregion
    
    
        protected void Page_Load(object sender, EventArgs e)
        {
            #region 分页,Page_Load加载调用
            if (!IsPostBack)
            {
                int pagesize = Convert.ToInt32(dropPageSize.SelectedValue); //分页大小
                int currentpage = 1;//pd.CurrentPageIndex + 1;                  //当前页码
    
                //调用方法
                BindShow(currentpage, pagesize);
            }
            #endregion
    
        }
    
    }
  • 相关阅读:
    14_java之变量|参数|返回值|修饰符
    NYOJ 202 红黑树 (二叉树)
    NYOJ 138 找球号(二) (哈希)
    NYOJ 136 等式 (哈希)
    NYOJ 133 子序列 (离散化)
    NYOJ 129 树的判定 (并查集)
    NYOJ 117 求逆序数 (树状数组)
    NYOJ 93 汉诺塔 (数学)
    HDU 2050 折线分割平面 (数学)
    天梯赛L2-008 最长对称子串 (字符串处理)
  • 原文地址:https://www.cnblogs.com/ylbtech/p/2553676.html
Copyright © 2011-2022 走看看