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();
    }
}

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

效果图

时间: 2024-12-18 05:27:39

webform(七)分页的相关文章

webform:分页组合查询

一个简单的分页组合查询页面 /// <summary> /// 查询方法 /// </summary> /// <param name="tsql">SQL语句</param> /// <param name="hh">哈希表</param> /// <returns></returns> public List<Goods> Select(string un

Webform(分页与组合查询配合使用)

1.封装实体类 2.写查询方法 //SubjectData类 public List<Subject> Select(string name) { List<Subject> list = new List<Subject>(); cmd.CommandText = "select *from Subject where SubjectName like @a "; cmd.Parameters.Clear(); cmd.Parameters.Add

ASPXGridView使用小结

一.ASPXGridView外观显示 属性: Caption----列的标题( KeyFieldName----数据库字段 SEOFriendly 是否启用搜索引擎优化 Summary 指定分页汇总信息的格式 Setting节点的ShowFilterRow=True设置快速查找功能 SettingsBehavior.AllowFocusedRow=true 高亮选中的行,即选中行变色 SettingsBehavior.AllDragDrop=false禁止拖动标题列头 SettingsBehav

数据库---T-SQL语句:查询语句(二)

>查询: 一.查询所有数据: select * from Info    ---查询所有数据(行) select Name from Info  ---查询特定列(Name列) select Name,Code from  Info ---查询特定两列(Name和Code列) 二.根据条件查 select * from  Info  where Code='p001'           一个条件查询(遍历每一个数据查出来的) select * from Info  where  Code='p

ASPxGridView的几个使用方法

一.ASPXGridView外观显示属性:Caption----列的标题(KeyFieldName----数据库字段SEOFriendly 是否启用搜索引擎优化Summary 指定分页汇总信息的格式 Setting节点的ShowFilterRow=True设置快速查找功能 SettingsBehavior.AllowFocusedRow=true 高亮选中的行,即选中行变色SettingsBehavior.AllDragDrop=false禁止拖动标题列头SettingsBehavior.All

ASPxGridview使用总结

我的ASPxGridview使用总结 一.ASPXGridView外观显示属性: Caption----列的标题( KeyFieldName----数据库字段 SEOFriendly 是否启用搜索引擎优化Summary 指定分页汇总信息的格式 Setting节点的ShowFilterRow=True设置快速查找功能 SettingsBehavior.AllowFocusedRow=true 高亮选中的行,即选中行变色SettingsBehavior.AllDragDrop=false禁止拖动标题

ASPXGridView用法

一.ASPXGridView外观显示 属性: Caption----列的标题( KeyFieldName----数据库字段 SEOFriendly 是否启用搜索引擎优化 Summary 指定分页汇总信息的格式 Setting节点的ShowFilterRow=True设置快速查找功能 SettingsBehavior.AllowFocusedRow=true 高亮选中的行,即选中行变色 SettingsBehavior.AllDragDrop=false禁止拖动标题列头 SettingsBehav

ASPxGridview使用总结(DEVExpress)(此篇为收集知识点--来源于博客园)

一.ASPXGridView外观显示属性:Caption----列的标题(KeyFieldName----数据库字段SEOFriendly 是否启用搜索引擎优化Summary 指定分页汇总信息的格式 Setting节点的ShowFilterRow=True设置快速查找功能 SettingsBehavior.AllowFocusedRow=true 高亮选中的行,即选中行变色SettingsBehavior.AllDragDrop=false禁止拖动标题列头SettingsBehavior.All

oracle_多表查询02

多表查询 select * from BONUS; select * from DEPT; select * from EMP; select * from SALGRADE; BONUS表 ENAME JOB SAL COMM DEPT表 DEPTNO DNAME LOC 1 10 ACCOUNTING NEW YORK 2 20 RESEARCH DALLAS 3 30 SALES CHICAGO 4 40 OPERATIONS BOSTON EMP表 EMPNO ENAME JOB MGR