• 第一次使用Layui 分页


    第一步:添加引用

    <link href="~/Content/layuiCMS/layui/css/layui.css" rel="stylesheet" />
    <script src="~/Content/layuiCMS/layui/layui.js"></script>

    二、界面设计

    <div class="layui-form news_list">
            <div class="layui-form users_list">
                <table class="layui-table">
                    <colgroup>
                        <col width="50">
                        <col>
                        <col width="18%">
                        <col width="8%">
                        <col width="12%">
                        <col width="12%">
                        <col width="18%">
                        <col width="15%">
                    </colgroup>
                    <thead>
                        <tr>
                            <th><input type="checkbox" name="" lay-skin="primary" lay-filter="allChoose" id="allChoose"></th>
                            <th>登录名</th>
                            <th>姓名</th>
                            <th>性别</th>
                            <th>邮箱</th>
                            <th>地址</th>
                            <th>时间</th>
                            <th>操作</th>
                        </tr>
                    </thead>
                    <tbody class="users_content"></tbody>
                </table>
            </div>
            <div id="page"></div>
        </div>

    三、添加一个js文件,并将文件引入界面:

    layui.config({
        base : "js/"
    }).use(['form','layer','jquery','laypage'],function(){
        var form = layui.form(),
            layer = parent.layer === undefined ? layui.layer : parent.layer,
            laypage = layui.laypage,
            $ = layui.jquery;
    
        //加载页面数据
        var usersData = '';
        $.get("/UserManage/GetInfo",{
            pageSize:10, //显示页面的数量
            pageindex:1 //当前页
        }, function (data) {
              usersData = data.rows;
              //执行加载数据的方法
              usersList(data.rows);
        })
    
        //表格数据和分页
        function usersList(that) {
            //渲染数据
            function renderDate(curr) {
                var dataHtml = '';
                if (!that) {
                    currData = usersData.concat().splice(curr * nums - nums, nums);
                } else {
                    currData = that.concat().splice(curr * nums - nums, nums);
                }
                if (currData.length != 0) {
                    for (var i = 0; i < currData.length; i++) {
                        dataHtml += '<tr>'
                        + '<td><input type="checkbox" name="checked"  value="' + currData[i].Id + '" lay-skin="primary" lay-filter="choose"></td>'
                        + '<td>' + currData[i].LoginName + '</td>'
                        + '<td>' + currData[i].Name + '</td>'
                        + '<td>' + currData[i].Sex + '</td>'
                        + '<td>' + currData[i].Email + '</td>'
                        + '<td>' + currData[i].Address + '</td>'
                        + '<td>' + currData[i].Birth + '</td>'
                        + '<td>'
                        + '<a class="layui-btn layui-btn-mini users_edit layui-btn-mini"><i class="iconfont icon-edit"></i> 编辑</a>'
                        + '<a class="layui-btn layui-btn-danger layui-btn-mini users_del" data-id="' + currData[i].Id + '"><i class="layui-icon">�</i> 删除</a>'
                        + '</td>'
                        + '</tr>';
                    }
                } else {
                    dataHtml = '<tr><td colspan="8">暂无数据</td></tr>';
                }
                return dataHtml;
            }
    
            //分页
            var nums = 10; //每页出现的数据量
            laypage({
                cont: "page",
                pages: Math.ceil(usersData.length / nums), //得到总页数
                skip: true, //是否开启跳页
                groups: 5, //连续显示分页数
                jump: function (obj) {
                    $(".users_content").html(renderDate(obj.curr));   //渲染数据
                    $('.users_list thead input[type="checkbox"]').prop("checked", false);
                    form.render(); //渲染表单
                }
            })
        }
    
        //全选
        form.on('checkbox(allChoose)', function (data) {
            var child = $(data.elem).parents('table').find('tbody input[type="checkbox"]:not([name="show"])');
            child.each(function (index, item) {
                item.checked = data.elem.checked;
            });
            form.render('checkbox');
        });
    
        //通过判断文章是否全部选中来确定全选按钮是否选中
        form.on("checkbox(choose)", function (data) {
            var child = $(data.elem).parents('table').find('tbody input[type="checkbox"]:not([name="show"])');
            var childChecked = $(data.elem).parents('table').find('tbody input[type="checkbox"]:not([name="show"]):checked')
            if (childChecked.length == child.length) {
                $(data.elem).parents('table').find('thead input#allChoose').get(0).checked = true;
            } else {
                $(data.elem).parents('table').find('thead input#allChoose').get(0).checked = false;
            }
            form.render('checkbox');
        })


    })

    后台控制器:

       public ActionResult GetInfo(int pageSize, int pageIndex)
            {
                   //使用EF框架的增删改查和分页的公共类
                    BaseRepository<Articles> db = new BaseRepository<Articles>();
                    int total;
                    Func<Articles, bool> where = s => s.ID > 0 && s.Type == 2;
                    Func<Articles, int> order = s => s.ID;
                    var list = db.LoadPagerEntities(pageSize, pageIndex, out total, where, false, order).ToList();
                    var dic = new Dictionary<string, object>
                    {
                        {"rows",list },
                        {"total", total}
                    };
                    return Json(dic, JsonRequestBehavior.AllowGet);
            }

      后来发现layui数据表格更好用

      

      

  • 相关阅读:
    writeToFile 读写文件问题
    iOS 设置代理过程
    iOS UIView 快速修改 frame,
    touches,motion触摸事件响应
    集合视图控制器(CollectionViewController) 、 标签控制器(TabBarController) 、 高级控件介绍
    触控(Touch) 、 布局(Layout)
    Autoresizing和AutoLayout
    动画(Animation) 、 高级动画(Core Animation)
    ios开发环境 分支语句 、 循环结构(for) 、 循环结构
    oc内存管理总结(一)
  • 原文地址:https://www.cnblogs.com/lemonmoney/p/7363506.html
Copyright © 2020-2023  润新知