zoukankan      html  css  js  c++  java
  • webform 分页

    界面:

     1 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
     2 
     3 <!DOCTYPE html>
     4 
     5 <html xmlns="http://www.w3.org/1999/xhtml">
     6 <head runat="server">
     7     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     8     <title></title>
     9 </head>
    10 <body>
    11     <form id="form1" runat="server">
    12         <div>
    13             <asp:Repeater ID="Repeater1" runat="server">
    14                 <HeaderTemplate>
    15                     <table style="background-color: blue;  100%; text-align:center">
    16                         <thead>
    17                             <tr style="color: white;">
    18                                 <td>编号</td>
    19                                 <td>名称</td>
    20                                 <td>品牌</td>
    21                                 <td>上市时间</td>
    22                                 <td>油耗</td>
    23                                 <td>动力</td>
    24                                 <td>排量</td>
    25                                 <td>价格</td>
    26                                 <td>图片</td>
    27                             </tr>
    28                         </thead>
    29                         <tbody>
    30                 </HeaderTemplate>
    31                 <ItemTemplate>
    32                     <tr style="background-color: #808080">
    33                         <td><%#Eval("Code") %></td>
    34                         <td><%#Eval("Name") %></td>
    35                         <td><%#Eval("Brand") %></td>
    36                         <td><%#Eval("Time") %></td>
    37                         <td><%#Eval("Oil") %></td>
    38                         <td><%#Eval("Power") %></td>
    39                         <td><%#Eval("Exhaust") %></td>
    40                         <td><%#Eval("Price") %></td>
    41                         <td><%#Eval("Pic") %></td>
    42                     </tr>
    43                 </ItemTemplate>
    44                 <FooterTemplate>
    45                     </tbody>
    46             </table>
    47                 </FooterTemplate>
    48             </asp:Repeater>
    49             <div style=" 50%; position: relative; float: left; height: 25px; line-height: 25px; text-indent: 20px;">
    50 51                 <asp:Label ID="Label_Sum" runat="server" Text="Label"></asp:Label>
    52                 条记录,共
    53                 <asp:Label ID="Label_Maxpage" runat="server" Text="Label"></asp:Label>
    54                 页,第
    55                 <asp:Label ID="Label_Nowpage" runat="server" Text="Label"></asp:Label>
    56                 页|每页
    57                 <asp:DropDownList ID="DropDownList2" runat="server" AutoPostBack="true" ></asp:DropDownList>
    58                 条记录
    59             </div>
    60             <div style=" 30%; position: relative; float: right; height: 25px; line-height: 25px;">
    61                 <asp:LinkButton ID="btn_First" runat="server">首页</asp:LinkButton>&nbsp
    62                 <asp:LinkButton ID="btn_Prev" runat="server">上一页</asp:LinkButton>&nbsp
    63                 <asp:LinkButton ID="btn_Next" runat="server">下一页</asp:LinkButton>&nbsp
    64                 <asp:LinkButton ID="btn_Last" runat="server">尾页</asp:LinkButton>&nbsp
    65                 <asp:DropDownList ID="DropDownList1" runat="server"></asp:DropDownList>
    66                 <asp:Button ID="Button1" runat="server" Text="跳转" />
    67             </div>
    68         </div>
    69     </form>
    70 </body>
    71 </html>
    界面Default.aspx

    后台:

     1 using System;
     2 using System.Collections.Generic;
     3 using System.Linq;
     4 using System.Web;
     5 
     6 /// <summary>
     7 /// Car 的摘要说明
     8 /// </summary>
     9 public class Car
    10 {
    11     public Car()
    12     {
    13         //
    14         // TODO: 在此处添加构造函数逻辑
    15         //
    16     }
    17     public string Code { get; set; }
    18     public string Name { get; set; }
    19     public string Brand { get; set; }
    20     public DateTime Time { get; set; }
    21     public decimal Oil { get; set; }
    22     public int Power { get; set; }
    23     public decimal Exhaust { get; set; }
    24     public decimal Price { get; set; }
    25     public string Pic { get; set; }
    26 }
    Car
     1 using System;
     2 using System.Collections.Generic;
     3 using System.Linq;
     4 using System.Web;
     5 using System.Data.SqlClient;
     6 
     7 /// <summary>
     8 /// CarData 的摘要说明
     9 /// </summary>
    10 public class CarData
    11 {
    12     SqlConnection conn = null;
    13     SqlCommand cmd = null;
    14     public CarData()
    15     {
    16         conn = new SqlConnection("server=.;database=mydb;user=sa;pwd=123");
    17         cmd = conn.CreateCommand();
    18     }
    19 
    20     public List<Car> Select()
    21     {
    22         List<Car> clist = new List<Car>();
    23         cmd.CommandText = "select *from Car";
    24 
    25         conn.Open();
    26         SqlDataReader dr = cmd.ExecuteReader();
    27         if (dr.HasRows)
    28         {
    29             while (dr.Read())
    30             {
    31                 Car c = new Car();
    32                 c.Code = dr[0].ToString();
    33                 c.Name = dr[1].ToString();
    34                 c.Brand = dr[2].ToString();
    35                 c.Time = Convert.ToDateTime(dr[3]);
    36                 c.Oil = Convert.ToDecimal(dr[4]);
    37                 c.Power = Convert.ToInt32(dr[5]);
    38                 c.Exhaust = Convert.ToInt32(dr[6]);
    39                 c.Price = Convert.ToDecimal(dr[7]);
    40                 c.Pic = dr[8].ToString();
    41 
    42                 clist.Add(c);
    43             }
    44         }
    45         conn.Close();
    46         return clist;
    47     }
    48 
    49 
    50     public List<Car> Select(int count,int nowpage)
    51     {
    52         List<Car> clist = new List<Car>();
    53         cmd.CommandText = "select top "+count+" *from Car where Code not in (select top "+((nowpage-1)*count)+" Code from Car) ";
    54 
    55         conn.Open();
    56         SqlDataReader dr = cmd.ExecuteReader();
    57         if (dr.HasRows)
    58         {
    59             while (dr.Read())
    60             {
    61                 Car c = new Car();
    62                 c.Code = dr[0].ToString();
    63                 c.Name = dr[1].ToString();
    64                 c.Brand = dr[2].ToString();
    65                 c.Time = Convert.ToDateTime(dr[3]);
    66                 c.Oil = Convert.ToDecimal(dr[4]);
    67                 c.Power = Convert.ToInt32(dr[5]);
    68                 c.Exhaust = Convert.ToInt32(dr[6]);
    69                 c.Price = Convert.ToDecimal(dr[7]);
    70                 c.Pic = dr[8].ToString();
    71 
    72                 clist.Add(c);
    73             }
    74         }
    75         conn.Close();
    76         return clist;
    77     }
    78 }
    CarData
      1 using System;
      2 using System.Collections.Generic;
      3 using System.Linq;
      4 using System.Web;
      5 using System.Web.UI;
      6 using System.Web.UI.WebControls;
      7 
      8 public partial class _Default : System.Web.UI.Page
      9 {
     10     protected void Page_Load(object sender, EventArgs e)
     11     {
     12         if (!IsPostBack)
     13         {
     14             DropDownList2.Items.Clear();
     15             for (int i = 1; i <= Sum(); i++)
     16             {
     17                 DropDownList2.Items.Add(new ListItem(i.ToString(), i.ToString()));
     18             }
     19             
     20             DropDownList2.SelectedValue = "5";//默认每页五条
     21 
     22             Change();
     23         }
     24 
     25         btn_First.Click += btn_First_Click;//首页
     26         btn_Prev.Click += btn_Prev_Click;//上一页
     27         btn_Next.Click += btn_Next_Click;//下一页
     28         btn_Last.Click += btn_Last_Click;//尾页
     29         Button1.Click += Button1_Click;//跳转按钮
     30         DropDownList2.SelectedIndexChanged += DropDownList2_SelectedIndexChanged;//每页数据条数发生改变
     31     }
     32 
     33     //每页数据条数发生改变时执行
     34     private void Change()
     35     {
     36         int count = Convert.ToInt32(DropDownList2.SelectedValue);//每页的数据条数
     37         Label_Sum.Text = Sum().ToString();//总数据条数
     38         Label_Maxpage.Text = MaxPage().ToString();//总页数
     39         Label_Nowpage.Text = "1";//当前页
     40         Repeater1.DataSource = new CarData().Select(count, 1);
     41         Repeater1.DataBind();
     42 
     43         DropDownList1.Items.Clear();
     44         for (int i = 1; i <= MaxPage(); i++)
     45         {
     46             DropDownList1.Items.Add(new ListItem(i.ToString(), i.ToString()));
     47         }
     48         btn_First.Enabled = false;
     49         btn_Prev.Enabled = false;
     50         btn_Next.Enabled = true;
     51         btn_Last.Enabled = true;
     52     }
     53 
     54     //每页数据条数发生改变
     55     void DropDownList2_SelectedIndexChanged(object sender, EventArgs e)
     56     {
     57         Change();
     58         if (DropDownList2.SelectedValue == "18")
     59         {
     60             btn_Next.Enabled = false;
     61             btn_Last.Enabled = false;
     62         }
     63     }
     64 
     65 
     66     //跳转按钮
     67     void Button1_Click(object sender, EventArgs e)
     68     {
     69         int count = Convert.ToInt32(DropDownList2.SelectedValue);//每页的数据条数
     70         //按照页数获取绑定数据
     71         Repeater1.DataSource = new CarData().Select(count,Convert.ToInt32( DropDownList1.SelectedValue));
     72         Repeater1.DataBind();
     73         //修改显示页数
     74         Label_Nowpage.Text = DropDownList1.SelectedValue;
     75         if (Convert.ToInt32(Label_Nowpage.Text) <= 1)//若为首页禁用上一页和首页按钮
     76         {
     77             btn_First.Enabled = false;
     78             btn_Prev.Enabled = false;
     79             btn_Next.Enabled = true;
     80             btn_Last.Enabled = true;
     81         }
     82         if (Convert.ToInt32(Label_Nowpage.Text) >= MaxPage())//若为最后一页禁用下一页和尾页按钮
     83         {
     84             btn_Next.Enabled = false;
     85             btn_Last.Enabled = false;
     86             btn_First.Enabled = true;
     87             btn_Prev.Enabled = true;
     88         }
     89     }
     90 
     91     //首页
     92     void btn_First_Click(object sender, EventArgs e)
     93     {
     94         int count = Convert.ToInt32(DropDownList2.SelectedValue);//每页的数据条数
     95         //按照页数获取绑定数据
     96         Repeater1.DataSource = new CarData().Select(count, 1);
     97         Repeater1.DataBind();
     98         //修改显示页数
     99         Label_Nowpage.Text = "1";
    100         //当前为首页禁用上一页和首页按钮
    101         btn_First.Enabled = false;
    102         btn_Prev.Enabled = false;
    103 
    104         btn_Next.Enabled = true;
    105         btn_Last.Enabled = true;
    106     }
    107 
    108     //上一页
    109     void btn_Prev_Click(object sender, EventArgs e)
    110     {
    111         int count = Convert.ToInt32(DropDownList2.SelectedValue);//每页的数据条数
    112         //获取当前页,计算上一页页数
    113         int nextpage = Convert.ToInt32(Label_Nowpage.Text) - 1;
    114         //按照页数获取绑定数据
    115         Repeater1.DataSource = new CarData().Select(count, nextpage);
    116         Repeater1.DataBind();
    117         //修改显示页数
    118         Label_Nowpage.Text = nextpage.ToString();
    119         if (nextpage <= 1)//若为首页禁用上一页和首页按钮
    120         {
    121             btn_First.Enabled = false;
    122             btn_Prev.Enabled = false;
    123         }
    124         btn_Next.Enabled = true;
    125         btn_Last.Enabled = true;
    126     }
    127     //下一页
    128     void btn_Next_Click(object sender, EventArgs e)
    129     {
    130         int count = Convert.ToInt32(DropDownList2.SelectedValue);//每页的数据条数
    131         //获取当前页,计算下一页页数
    132         int nextpage = Convert.ToInt32(Label_Nowpage.Text) + 1;
    133         //按照页数获取绑定数据
    134         Repeater1.DataSource = new CarData().Select(count, nextpage);
    135         Repeater1.DataBind();
    136         //修改显示页数
    137         Label_Nowpage.Text = nextpage.ToString();
    138         if (nextpage >= MaxPage())//若为最后一页禁用下一页和尾页按钮
    139         {
    140             btn_Next.Enabled = false;
    141             btn_Last.Enabled = false;
    142         }
    143         btn_First.Enabled = true;
    144         btn_Prev.Enabled = true;
    145     }
    146 
    147 
    148     //尾页
    149     void btn_Last_Click(object sender, EventArgs e)
    150     {
    151         int count = Convert.ToInt32(DropDownList2.SelectedValue);//每页的数据条数
    152         //按照页数获取绑定数据
    153         Repeater1.DataSource = new CarData().Select(count, MaxPage());
    154         Repeater1.DataBind();
    155         //修改显示页数
    156         Label_Nowpage.Text = MaxPage().ToString();
    157         //若为最后一页禁用下一页和尾页按钮
    158         btn_Next.Enabled = false;
    159         btn_Last.Enabled = false;
    160 
    161         btn_First.Enabled = true;
    162         btn_Prev.Enabled = true;
    163     }
    164 
    165     //总的数据条数
    166     public int Sum()
    167     {
    168         List<Car> clist = new CarData().Select();
    169         int a = clist.Count;
    170         return a;
    171     }
    172 
    173     //总页数
    174     public int MaxPage()
    175     {
    176         int count = Convert.ToInt32(DropDownList2.SelectedValue);//每页的数据条数
    177         List<Car> clist = new CarData().Select();
    178         int a = clist.Count;
    179         int end = Convert.ToInt32(Math.Ceiling(a / (count * 1.0)));
    180         return end;
    181     }
    182 }
    Default.aspx.cs

  • 相关阅读:
    装修后才知道的79件事,无数网友砸出来的经验(转)
    FusionCharts参数说明
    学习好文章
    好文
    oracle删除同一张表的重复记录
    2012的到来,2011年总结
    近期计划
    #¥(#)@()¥。。。。。。。
    疯狂的一周
    可怜的鱼儿
  • 原文地址:https://www.cnblogs.com/maxin991025-/p/6250105.html
Copyright © 2011-2022 走看看