zoukankan      html  css  js  c++  java
  • ASP.NET中datalist分页代码

    <% @ Import Namespace="System.Data" %>
    <% @ Import Namespace="System.Data.OleDb" %>
    <Script Language="C#" Runat="Server">

    OleDbConnection MyConn;
    int PageSize,RecordCount,PageCount,CurrentPage;
    public void Page_Load(Object src,EventArgs e)
    {
     //设定PageSize
     PageSize = 10;

     //连接语句
     string MyConnString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="+Server.MapPath(".")+"//App_Data\\1.mdb;";
     MyConn = new OleDbConnection(MyConnString);
     MyConn.Open();

     //第一次请求执行
     if(!Page.IsPostBack)
     {
      ListBind();
     
      CurrentPage = 0;
      ViewState["PageIndex"] = 0;

      //计算总共有多少记录
      RecordCount = CalculateRecord();
      lblRecordCount.Text = RecordCount.ToString();

      //计算总共有多少页
      PageCount = RecordCount/PageSize;
      if(RecordCount%PageSize!=0)PageCount++;
      lblPageCount.Text = PageCount.ToString();
      ViewState["PageCount"] = PageCount;
     
     
     }
    }
    //计算总共有多少条记录
    public int CalculateRecord()
    {
     int intCount;
     string strCount = "select count(*) as co from hotel";
     OleDbCommand MyComm = new OleDbCommand(strCount,MyConn);
     OleDbDataReader dr = MyComm.ExecuteReader();
     if(dr.Read())
     {
      intCount = Int32.Parse(dr["co"].ToString());
     }
     else
     {
      intCount = 0;
     }
     dr.Close();
     return intCount;
    }

    ICollection CreateSource()
    {

     int StartIndex;

     //设定导入的起终地址
     StartIndex = CurrentPage*PageSize;
     string strSel = "select * from hotel";
     DataSet ds = new DataSet();

     OleDbDataAdapter MyAdapter = new OleDbDataAdapter(strSel,MyConn);
     MyAdapter.Fill(ds,StartIndex,PageSize,"Score");

     return ds.Tables["Score"].DefaultView;
    }
    public void ListBind()
    {
     score.DataSource = CreateSource();
     score.DataBind();

     lbnNextPage.Enabled = true;
     lbnPrevPage.Enabled = true;
     shouye.Enabled= true;
     moye.Enabled= true;
     if(CurrentPage==(PageCount-1))
      {
     lbnNextPage.Enabled = false;
     moye.Enabled= false;
     }
     if(CurrentPage==0)
     {
     lbnPrevPage.Enabled = false;
     shouye.Enabled =false;
     }
     lblCurrentPage.Text = (CurrentPage+1).ToString();

    }

    public void Page_OnClick(Object sender,CommandEventArgs e)
    {
     CurrentPage = (int)ViewState["PageIndex"];
     PageCount = (int)ViewState["PageCount"];

     string cmd = e.CommandName;
     //判断cmd,以判定翻页方向
     switch(cmd)
     {
      case "next":
       if(CurrentPage<(PageCount-1)) CurrentPage++;
       break;
      case "prev":
       if(CurrentPage>0) CurrentPage--;
       break;
       case "shou":
          CurrentPage=0 ;
          break;
       case "mo":
          CurrentPage=PageCount-1;
          break;
     }

     ViewState["PageIndex"] = CurrentPage;

     ListBind();

    }
    </script>
    <html>
    <head>
    <title>datalist分页效果</title>
    <link href="admin.css" type="text/css" />
    </head>
    <body>
    <form id="Form1" runat="server">
        &nbsp;<table style=" 680px">
            <tr>
                <td style=" 680px" align="center">
    共有<asp:Label id="lblRecordCount" ForeColor="red" runat="server" />条记录&nbsp;
    当前为<asp:Label id="lblCurrentPage" ForeColor="red" runat="server" />/<asp:Label id="lblPageCount" ForeColor="red" runat="server" />页&nbsp;
                </td>
            </tr>
            <tr>
                <td style=" 680px; height: 218px" align="center">

    <asp:DataList id="score" runat="server"
    HeaderStyle-BackColor="#aaaadd"
    AlternatingItemStyle-BackColor="Gainsboro"
    EditItemStyle-BackColor="yellow" BackColor="White" BorderColor="#CC9966" BorderStyle="None" BorderWidth="1px" CellPadding="4" GridLines="Both"
    >
     <ItemTemplate>
     <table><tr><td  width="200px">
      酒店名称:<%# DataBinder.Eval(Container.DataItem,"Name") %>  </td><td width="120px">星级:<%# DataBinder.Eval(Container.DataItem,"satr") %> </td><td>城市:<%# DataBinder.Eval(Container.DataItem,"City") %> </td></tr></table>  
     
     </ItemTemplate>
        <FooterStyle BackColor="#FFFFCC" ForeColor="#330099" />
        <EditItemStyle BackColor="Yellow" />
        <SelectedItemStyle BackColor="#FFCC66" Font-Bold="True" ForeColor="#663399" />
        <ItemStyle BackColor="White" ForeColor="#330099" />
        <HeaderStyle BackColor="#990000" Font-Bold="True" ForeColor="#FFFFCC" />
        <AlternatingItemStyle BackColor="Gainsboro" />
        <HeaderTemplate>
            黄山酒店一揽表
       
           
        </HeaderTemplate>
        <FooterTemplate>
            &nbsp;&nbsp;
        </FooterTemplate>
    </asp:DataList></td>
            </tr>
            <tr>
                <td style=" 680px" align="center">
        <asp:LinkButton ID="shouye" runat="server" Text="首页" CommandName="shou" OnCommand="Page_OnClick"/>
     
    <asp:LinkButton id="lbnPrevPage" Text="上一页" CommandName="prev" OnCommand="Page_OnClick" runat="server" />
    <asp:LinkButton id="lbnNextPage" Text="下一页" CommandName="next" OnCommand="Page_OnClick" runat="server" />
      <asp:LinkButton ID="moye" runat="server"  Text="末页"   CommandName="mo" OnCommand="Page_OnClick"/></td>
            </tr>
        </table>
        &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;

    </form>
    </body>
    </html>

  • 相关阅读:
    HDU 5115 Dire Wolf (区间DP)
    HDU 4283 You Are the One(区间DP(最优出栈顺序))
    ZOJ 3469 Food Delivery(区间DP好题)
    LightOJ 1422 Halloween Costumes(区间DP)
    POJ 1651 Multiplication Puzzle(区间DP)
    NYOJ 石子合并(一)(区间DP)
    POJ 2955 Brackets(括号匹配一)
    POJ 1141 Brackets Sequence(括号匹配二)
    ZOJ 3537 Cake(凸包+区间DP)
    Graham求凸包模板
  • 原文地址:https://www.cnblogs.com/coderblog/p/1236215.html
Copyright © 2011-2022 走看看