• 【Layui__表格】方法级渲染表格


    方法级渲染表格

    <%@ page contentType="text/html;charset=UTF-8" language="java" pageEncoding="UTF-8" %>
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    <html>
    <meta content="text/html" charset="utf-8">
    <link rel="stylesheet" href="${APP_PATH}/static/layui-v2.5.6/css/layui.css" media="all"/>
    <body>
    <div class="layui-fluid">
        <div class="layui-col-md12">
            <div class="layui-card">
                <div class="layui-card-header">
                    <button class="layui-btn" onclick="openAdd()"><i class="layui-icon"></i>添加</button>
                    <button class="layui-btn" onclick="reload()"><i class="layui-icon"></i>重载表格</button>
                </div>
                <div class="layui-card-body">
                    <table id="tableId" class="layui-table layui-form" lay-filter="tableFilter"></table>
                </div>
            </div>
        </div>
    </div>
    <script src="http://code.jquery.com/jquery-2.1.1.min.js"></script>
    <script src="${APP_PATH}/static/layui-v2.5.6/layui.js"></script>
    <script type="text/html" id="toobar">
        <a class="layui-btn layui-btn-xs layui-hide" lay-event="detail">查看</a>
        <a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>
        <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
    </script>
    <script>
        var public_closeTimeout = 1000;// 关闭窗口时间
        var public_closeTimeout_error = 2000;// 关闭窗口时间
        var public_shade = 0.3;// 遮罩
        var public_anim = 3;// 动画模式
        var form, table, layer, element, layedit, laydate, upload, colorpicker;
        layui.use(['element', 'form', 'layedit', 'laydate', 'upload', 'colorpicker', 'table', 'layer'], function () {
            form = layui.form;
            table = layui.table;
            layer = layui.layer;
            element = layui.element;
            layedit = layui.layedit;
            laydate = layui.laydate;
            upload = layui.upload;
            colorpicker = layui.colorpicker;
    
            table.render({
                elem: '#tableId'
                , url: '${APP_PATH}/student/datagrid'
                , method: 'POST'    //方式
                , page: true    //是否开启分页
                , limits: [10, 20, 30, 60, 90, 100]
                , limit: 10      //默认采用20
                , cellMinWidth: 120
                , even: true    //开启隔行背景
                , id: 'reloadId'
                , done: function (res, curr, count) {
                    console.log("=====加载后回调");
                    console.log(res);
                    //layer.close(index);//关闭
                }
                , cols: [[      //标题栏
                    //{ checkbox: false }
                    {field: 'id', title: 'ID',  80}
                    , {field: 'student_id', title: 'student_id',  120}
                    , {field: 'name', title: 'name',  120}
                    , {field: 'age', title: 'age',  120}
                    , {field: 'sex', title: 'sex',  120}
                    , {field: 'birthday', title: 'birthday',  120}
                    // , {field: 'CompanyName', title: '联系人公司',  120}
                    // , {field: 'AddDate', title: '留言日期',  120}
                    , {fixed: 'right', title: '操作', align: 'center', toolbar: '#toobar',  200}
                ]]
            });
    
            //监听工具条
            table.on('tool(tableFilter)', function (obj) { //注:tool 是工具条事件名,test 是 table 原始容器的属性 lay-filter="对应的值"
                var data = obj.data; //获得当前行数据
                var layEvent = obj.event; //获得 lay-event 对应的值(也可以是表头的 event 参数对应的值)
                var tr = obj.tr; //获得当前行 tr 的 DOM 对象(如果有的话)
                console.log("获得当前行数据 ==");
                console.log(data);
                console.log("layEvent==" + layEvent);
                if (layEvent === 'detail') {
                } else if (layEvent === 'del') {
                    openDelete(tr.id);
                } else if (layEvent === 'edit') {
                    openEdit(data);
                }
            });
        });//layui.use end
    
        function openAdd() {
            layer.open({
                type: 2,
                title: '新增',
                shadeClose: false,//点击遮罩关闭
                anim: public_anim,
                btnAlign: 'c',
                shade: public_shade,//是否有遮罩,可以设置成false
                maxmin: true, //开启最大化最小化按钮
                area: ['800px', '600px'],
                //area: ['100%', '100%'],
                boolean: true,
                content: ['${APP_PATH}/student/add', 'yes'], //iframe的url,no代表不显示滚动条
                success: function (layero, lockIndex) {
                    var body = layer.getChildFrame('body', lockIndex);
                    //绑定解锁按钮的点击事件
                    body.find('button#close').on('click', function () {
                        layer.close(lockIndex);
                        location.reload();//刷新
                    });
                }
            });
        }
    
        function openEdit(data) {
            layer.open({
                type: 2,
                title: '修改',
                shadeClose: false,//点击遮罩关闭
                anim: public_anim,
                btnAlign: 'c',
                shade: public_shade,//是否有遮罩,可以设置成false
                maxmin: true, //开启最大化最小化按钮
                //area: ['100%', '100%'],
                area: ['800px', '600px'],
                boolean: true,
                content: ['${APP_PATH}/student/edit?obj=' + encodeURIComponent(JSON.stringify(data)), 'yes'], //iframe的url,no代表不显示滚动条
                success: function (layero, lockIndex) {
                    var body = layer.getChildFrame('body', lockIndex);
                    body.find('button#close').on('click', function () {     //绑定解锁按钮的点击事件
                        layer.close(lockIndex);
                        location.reload();//刷新
                    });
                }
            });
        }
    
        function openDelete(id) {
            layer.open({
                title: '确认删除' //显示标题栏
                , closeBtn: false
                , area: '300px;'
                , shade: 0.5
                , id: 'LAY_layuipro' //设定一个id,防止重复弹出
                , btn: ['删除', '关闭']
                , content: '您是否要删除当前选中的记录?'
                , success: function (layero) {
                    var btn = layero.find('.layui-layer-btn');
                    btn.css('text-align', 'center');//居中
                    btn.find('.layui-layer-btn0').on('click', function () {
                        var loadindex = layer.load(1);//开启进度条
                        layer.msg("删除成功", {icon: 1, time: 1000});
                        location.reload();//刷新
    
                        return false;
                        $.ajax({
                            url: '${APP_PATH}/student/delete',
                            data: {id: id},
                            type: 'POST',//默认以get提交,以get提交如果是中文后台会出现乱码
                            dataType: 'json',
                            success: function (obj) {
                                console.log(obj);
                                layer.close(loadindex);//关闭进程对话框
                                if (obj.code == '1') {
                                    layer.msg("成功", {icon: 1, time: 1000});
                                    setTimeout(function () {
                                        location.reload();//刷新
                                    }, 1000);
                                } else {
                                    layer.msg(obj.msg, {icon: 2, time: 1000});
                                }
                            }
                        });
                    });
                }
            });
        }
    
        function reload() {
            table.reload('reloadId', {
                url: '${APP_PATH}/student/search'
                , where: {aaa: 'xxx', bbb: 'yyy'}   //设定异步数据接口的额外参数,任意设
                , page: {curr: 1}   //重新从第 1 页开始
            }); //只重载数据
        }
    
        function execute_open(title, url, width, height) {
            layer.open({
                type: 2,
                title: '' + title + '',
                shadeClose: true,
                shade: 0.8,
                area: ['' + width + 'px', '' + height + 'px'],
                content: '' + url + '',
            });
        }
    </script>
    </body>
    </html>
    
    
  • 相关阅读:
    在Magento中添加一个自己的支付模块----第一部分
    留言互相关注哟
    【Java】final修饰符的使用
    【java】关于Cannot refer to the non-final local variable list defined in an enclosing scope解决方法
    【Java】遍历List/Set/Map集合的一些常用方法
    Java Socket编程,小案例(有注释)
    xml解析
    阿九说:Dom4j解析XML
    神秘的Java注解
    反射是框架设计的灵魂
  • 原文地址:https://www.cnblogs.com/kikyoqiang/p/12820358.html
Copyright © 2020-2023  润新知