zoukankan      html  css  js  c++  java
  • webform(七)分页

    分页就是把大量数据分成X个/组,每次只显示一组数据的数据展示方式。

    前端代码:

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Page.aspx.cs" Inherits="Page" %>
    
    <!DOCTYPE html>
    
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>分页</title>
    /*样式表*/
        <style type="text/css">
            .UF_div {
                width: 1200px;
                margin: 0 auto;
                background-color: #eeeeee;
            }
    
            .User_div {
                display: inline-block;
                background-color: #ffccff;
                border-color: blue;
                border-width: 5px;
                margin: 5px 0;
                margin-left: 5px;
                border-style: solid;
                height: 210px;
                width: 220px;
                line-height:30px;
            }
    
                .User_div:hover {
                    background-color: palevioletred;
                }
            .pagechange{
                width:100%;
                text-align:center;
                line-height:30px;
            }
        </style>
    </head>
    <body>
        <form id="form1" runat="server">
    <--数据展示区-->
            <div class="UF_div">
                <asp:Repeater ID="UserData_all" runat="server">
                    <ItemTemplate>
                        <div class="User_div">&nbsp;&nbsp;&nbsp;号:<%# Eval("Ucode")%><br />
                            用户名:<%# Eval("UserName")%><br />&nbsp;&nbsp;&nbsp;码:<%# Eval("PassWord")%><br />&nbsp;&nbsp;&nbsp;称:<%# Eval("NickName")%><br />&nbsp;&nbsp;&nbsp;别:<%# Eval("SexStr")%><br />&nbsp;&nbsp;&nbsp;区:<%# Eval("PartyName")%><br />&nbsp;&nbsp;&nbsp;置:<%# Eval("LaneName")%><br />
                        </div>
                    </ItemTemplate>
                </asp:Repeater>
                <div style="clear: both"></div>
            </div>
    <--页数控制按钮-->
            <div class="pagechange">
                当前第【 <asp:Label ID="lab_nowpage" runat="server" Text="1"></asp:Label> 】页
                &nbsp;&nbsp;&nbsp;&nbsp;
                共【 <asp:Label ID="lab_maxpage" runat="server" Text="1"></asp:Label> 】页
                <br />
                <asp:Button ID="btn_first" runat="server" Text="首页" />
                <asp:Button ID="btn_up" runat="server" Text="上一页" />
                <asp:Button ID="btn_next" runat="server" Text="下一页" />
                <asp:Button ID="btn_end" runat="server" Text="末页" />
                <br />
                跳转到第
                <asp:DropDownList ID="ddl_jumpto" AutoPostBack="true" runat="server"></asp:DropDownList><%--&nbsp;&nbsp;&nbsp;
                <asp:Button ID="btn_jumpto" runat="server" Text="跳转" />--%>
                
            </div>
        </form>
    </body>
    </html>

    前端代码主要是数据展示区和页数控制代码两个部分。

    后台代码

    public partial class Page : System.Web.UI.Page
    {
        //规定每页显示的数量
        int c_aPage = 5;
        protected void Page_Load(object sender, EventArgs e)
        {
            //首页按钮
            btn_first.Click += Btn_first_Click;
            //上一页按钮
            btn_up.Click += Btn_up_Click;
            //下一页按钮
            btn_next.Click += Btn_next_Click;
            //末页按钮
            btn_end.Click += Btn_end_Click;
            //跳转列表的选择项改变
            ddl_jumpto.SelectedIndexChanged += Ddl_jumpto_SelectedIndexChanged;
            //跳转按钮
            //btn_jumpto.Click += Btn_jumpto_Click;
            //如果首次登录 加载第一页数据
            if (!IsPostBack)
            {
                //数据绑定
                UserData_all.DataSource = new UsersData().Selectpage(1, c_aPage);
                UserData_all.DataBind();
                //获取最大页数
                lab_maxpage.Text = getMaxPage().ToString();
                //跳转页数列表绑定
                for (int i = 1; i <= Convert.ToInt32(lab_maxpage.Text); i++)
                {
                    ddl_jumpto.Items.Add(i.ToString());
                }
            }
        }
        //跳转列表的选择项改变事件
        private void Ddl_jumpto_SelectedIndexChanged(object sender, EventArgs e)
        {
            int a = Convert.ToInt32(ddl_jumpto.SelectedItem.Text);
            pageDataBind(a);
        }
    
        //跳转按钮点击事件
        private void Btn_jumpto_Click(object sender, EventArgs e)
        {
            int a = Convert.ToInt32(ddl_jumpto.SelectedItem.Text);
            pageDataBind(a);
        }
    
        //获取最大页数的方法
        public int getMaxPage()
        {
            int end = 1;
            int allcount = new UsersData().SelectAll().Count;
            decimal a = Convert.ToDecimal(allcount) / c_aPage;
            end = Convert.ToInt32(Math.Ceiling(a));
            return end;
        }
        //首页点击事件
        private void Btn_first_Click(object sender, EventArgs e)
        {
            int a = 1;
            pageDataBind(a);
        }
    
        //上一页点击事件
        private void Btn_up_Click(object sender, EventArgs e)
        {
            int a = Convert.ToInt32(lab_nowpage.Text) - 1;
            if (a > 0)
            {
                pageDataBind(a);
            }
        }
    
        //下一页点击事件
        private void Btn_next_Click(object sender, EventArgs e)
        {
            int a = Convert.ToInt32(lab_nowpage.Text) + 1;
            if (a <= Convert.ToInt32(lab_maxpage.Text))
            {
                pageDataBind(a);
            }
        }
        //末页点击事件
        private void Btn_end_Click(object sender, EventArgs e)
        {
            int a = Convert.ToInt32(lab_maxpage.Text);
            pageDataBind(a);
        }
        //绑定单页数据方法
        public void pageDataBind(int a)
        {
            UserData_all.DataSource = new UsersData().Selectpage(a, c_aPage);
            UserData_all.DataBind();
            lab_nowpage.Text = a.ToString();
        }
    }

    后台代码规定了每页显示的数据数量,并且添加了换页按钮的点击事件。

    效果图

  • 相关阅读:
    Android JNI 使用的数据结构JNINativeMethod详解 .
    datatable的部分问题处理(动态定义列头,给某行添加事件,初始显示空数据)
    关于boostrap的modal隐藏问题(前端框架)
    三丰云服务器的基本使用(端口)
    Vue+Element的动态表单,动态表格(后端发送配置,前端动态生成)
    云服务器内,nginx安装部署,Xshell,Xftp安装
    免费云服务器的申请(三丰云)
    vue的组件化运用(数据在两个组件互传,小问题总结)
    vue的表单编辑删除,保存取消功能
    datatable动态列处理,重绘表格(敲黑板,划重点!!!我肝了一天半才彻底弄懂这个东西,TAT)
  • 原文地址:https://www.cnblogs.com/shenyuyaqing/p/7360438.html
Copyright © 2011-2022 走看看