关于EasyUI的插件jquery.edatagrid.js的使用

   2023-02-08 学习力0
核心提示:%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%%@ taglib uri="http://java.sun.com/jsp/jstl/core"
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"  %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path;
%>
<c:set var="ctx" value="<%=basePath %>"/>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<title>管理员列表页面</title>
<link rel="stylesheet" type="text/css" href="<%=request.getContextPath()%>/easyUi/themes/bootstrap/easyui.css">
<link rel="stylesheet" type="text/css" href="<%=request.getContextPath()%>/easyUi/themes/icon.css">
<link rel="stylesheet" type="text/css" href="<%=request.getContextPath()%>/CSS/main.css">
<script type="text/javascript" src="<%=request.getContextPath()%>/easyUi/jquery.min.js"></script>
<script type="text/javascript" src="<%=request.getContextPath()%>/easyUi/jquery.easyui.min.js"></script>
<script type="text/javascript" src="https://www.lexue001.com/skin/default/image/nopic.gif"></script>
<script type="text/javascript" src="<%=request.getContextPath()%>/easyUi/jquery.edatagrid.lang.js"></script>
<script type="text/javascript" src="<%=request.getContextPath()%>/easyUi/locale/easyui-lang-zh_CN.js"></script>

<style type="text/css">
    body{
        margin: 0;
    }
</style>
<script type="text/javascript">
    $(function(){
        $('#menuview').edatagrid({});
    });
    /** 格式化时间*/
    function formatTen(num) {
        return num > 9 ? (num + "") : ("0" + num);
    }
    function formatDate(date) {
        var year = date.getFullYear();
        var month = date.getMonth() + 1;
        var day = date.getDate();
        var hour = date.getHours();
        var minute = date.getMinutes();
        var second = date.getSeconds();
        return year + "-" + formatTen(month) + "-" + formatTen(day) + " " + formatTen(hour) + ":" + formatTen(minute) + ":" + formatTen(second);
    }     
    function formattime(val,row) {
        val = new Date(val);
        return formatDate(val);
    }

    function delData(){
        if(confirm("确定要删除数据吗?")){
            var ids = "";
            var rows = $('#menuview').datagrid('getSelections');
            //获取datagrid选中行
            for (var i = 0; i < rows.length; i++) {
                if(i==rows.length){
                    ids = ids + rows[i].menuId;
                }else{
                    ids = ids + rows[i].menuId + ',';
                }
            }
            var url ="${ctx}/menu/delData.action?ids="+ids;
    
            url = convertURL(url);
            $.get(url, null, function(data) {
                alert(data);
                self.location.reload();
                
            });
        }
    }
    
    //给url地址增加时间戳,骗过浏览器,不读取缓存
    function convertURL(url) {
        //获取时间戳
        var timstamp = (new Date()).valueOf();
        //将时间戳信息拼接到url上
        if (url.indexOf("?") >= 0) {
            url = url + "&t=" + timstamp;
        } else {
            url = url + "?t=" + timstamp;
        }
        return url;  
    }
    
    function rowFormater(value, row, index) {
       return  '<a href="javascript:void(0)" onclick="showMessageDialog('+ value+');">设置</a>';
    }
    //url:窗口调用地址,title:窗口标题,width:宽度,height:高度,shadow:是否显示背景阴影罩层  
    function showMessageDialog(id) {  
        url="${ctx}/menu/menuManage.jsp?id="+id;
        title="设置";
        shadow=true;
        var content = '<iframe >;  
        var boarddiv = '<div 可以去掉滚动条  
        $(document.body).append(boarddiv);  
        var win = $('#msgwindow').dialog({  
            content: content,  
            width: "700px",  
            height: "500px",  
            modal: shadow,  
            title: title,  
            onClose: function () {  
                $(this).dialog('destroy');//后面可以关闭后的事件  
            }  
        });  
        win.dialog('open');  
       }  
</script>
</head>
<body style="visibility: visible;">
    <table  
        idField="menuId"
        rownumbers="true" 
        pagination="true"
        fitColumns="true" 
        singleSelect="false"
        pageSize="15"
        pageList="[15,30,45,60]"
        toolbar="#tb"
        url="${pageContext.request.contextPath }/menu/list.action"
        >
        <thead>  
            <tr>  
                <th data-options="field:'menuId',width:50,checkbox:'true'"></th>
                <th data-options="field:'name',width:80,align:'center'">按钮名称</th>
                <th data-options="field:'actionURL',width:80,align:'center'">按钮URL</th>
                <th data-options="field:'parentMenu',width:80,align:'center'">上级按钮</th>
                <th data-options="field:'modify',width:50,align:'center',formatter:rowFormater">操作</th>
            </tr>  
        </thead>
    </table>
    <div id="tb">  
        <a href="${pageContext.request.contextPath }/menu/addMenu.jsp" class="easyui-linkbutton" iconCls="icon-add" plain="true">新增</a>  
        <a href="#" class="easyui-linkbutton" iconCls="icon-remove" plain="true" onclick="javascript:delData();">删除</a> 
    </div> 
</body>
</html>

以上直接将

edatagrid的参数配置在<table>标签中
效果:

关于EasyUI的插件jquery.edatagrid.js的使用

将edatagrid的配置参数写到$('#menuview').edatagrid({  })中

$(function(){
        $('#menuview').edatagrid({
                    idField: 'Id',
                    rownumbers: true,
                    pagination: true,
                    fitColumns: true,
                    singleSelect: false,  //singleSelect: true,
                    url:'${pageContext.request.contextPath }/menu/list.action',//这是数据加载的地址,返回对应的json数据包就行,json包格式例子,见下4
                    pageSize: 15,
                    pageList: [15,30,45,60],
                    toolbar:'#tb',
                    saveUrl: '@Url.Action("SaveEdatagrid")',        //新建,都是eadatagrid封装好的,把链接填好就行,点击之后会自动发送json数据包
                    updateUrl: '@Url.Action("SaveEdatagrid")',      //保存
                    destroyUrl: '@Url.Action("DeleteEdatagrid")',      //删除
                    onSave: function (index, row) {
                        var $datagrid = $('#menuview');
                        if ($datagrid.data('isSave')) {
                            //如果需要刷新,保存完后刷新
                            $datagrid.edatagrid('reload');
                            $datagrid.removeData('isSave');
                        }
                    },
                    toolbar: [{
                        text: '增加',
                        iconCls: 'icon-add',
                        handler: function () {
                            $('#menuview').edatagrid('addRow');
                        }
                    }, {
                        text: '保存',
                        iconCls: 'icon-cut',
                        handler: function () {
                            //标记需要刷新
                            $('#menuview').data('isSave', true).edatagrid('saveRow');
                        }
                    }, '-', {
                        text: '删除',
                        iconCls: 'icon-save',
                        handler: function () {
                            $('#menuview').edatagrid('destroyRow');
                        }
                    }]
                });
    });

 

 
反对 0举报 0 评论 0
 

免责声明:本文仅代表作者个人观点,与乐学笔记(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

  • 邮箱自动提示Jquery 插件-实战.失败品
    看到很多 SNS 类网站都有 邮箱注册功能. 参考了一下技术过程,触发事件为 focus keyup 和 后缀 mousedown 事件基本匹配过程就可以完成了. 所以写了下面的代码. 对  万一用户 选择错误.目前很多SNS 站都是要 手动删除后另行选择.我就写一个 focus 替换函数. 
    03-08
  • JQuery——事件绑定bind和on的区别
    引言  通过JQuery对目标对象绑定事件我们大部分都是通过$('选择器').事件名()的形式实现,其实对事件的绑定还可以使用on和bind,为了搞明白两者之间的区别特做记录,以备以后查阅。正文  bind和on都是给元素绑定事件用的,但两者在使用时有些差别,我们最
    03-08
  • jQuery select操作
    获取Select选择的Text和Value:$("#select_id").change(function(){//code...});//为Select添加事件,当选择其中一项时触发var checkText=$("#select_id").find("option:selected").text(); //获取Select选择的Textvar checkValue=$("#select_id").val(); //获
    03-08
  • jquery转盘抽奖活动代码 js大转盘抽奖代码
    jquery转盘抽奖活动代码 js大转盘抽奖代码
    jquery仿各大商城网站圆形转盘抽奖活动,淘宝商城圆形转盘抽奖活动、天猫商城圆形转盘抽奖活动、京东商城圆形转盘抽奖活动等。 查看演示
    03-08
  • jquery仿京东商城商品分类导航菜单 jquery仿京东左侧菜单导航
    jquery仿京东商城商品分类导航菜单 jquery仿京
    jquery hover事件下拉菜单导航仿京东商城商品分类导航样式布局,通过鼠标滑过商品分类导航展示商品分类子菜单内容的效果。 查看演示
    03-08
  • jQuery SuperSlide插件制作72个种常用的网页特效
    jQuery SuperSlide插件制作72个种常用的网页特
    SuperSlide2.1 超级滑动门72个扩展效果 我¥19买的,分享给大家希望大家学会感恩 “什么?20个基础效果+72个扩展效果,做到狗一 样,才19?!太不值了,大爷我给你99!” -- “多谢大爷!” 19元并不贵,就当是对广大互联网默默耕耘者的一点支持与鼓励
    03-08
  • jquery多功能弹出层插件支持Ajax、确认对话框、二次弹出层等
    jquery多功能弹出层插件支持Ajax、确认对话框、
    jquery jBox弹出层插件制作确认对话框弹出层_ajax弹出层_底部浮动弹出层等 查看演示
    03-08
  • jQuery瀑布流实例无限滚动加载图片 瀑布流式页面布局代码
    jQuery瀑布流实例无限滚动加载图片 瀑布流式页
    jquery masonry与infinitescroll两款瀑布流插件制作当下最流行的瀑布流图片展示实例,通过鼠标滚动图片无限加载的类似瀑布的效果的图片展示。用户可以无限浏览图片或内容无限加载瀑布流效果。 查看演示!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transiti
    03-08
  • 17种常用的jQuery全屏焦点图代码 jq 获取焦点
    jQuery全屏焦点图特效制作带标题的焦点图切换代码 jQuery背景和banner图片一起切换全屏焦点图切换代码 jQuery仿音悦台网站全屏带标题的焦点图轮播代码 jQuery响应式焦点图插件制作响应式全屏焦点图切换代码 jquery html5响应式幻灯片插件网站响应式全屏幻
    03-08
  • 6种非常酷炫的jquery banner焦点图片幻灯片切换
    6种非常酷炫的jquery banner焦点图片幻灯片切换
    jquery sequence slide滑动幻灯片插件6款时尚的图片滑动幻灯片切换 查看演示
    03-08
点击排行