【EasyUI DataGrid】批量操作

本篇博客主要实现的功能是,对EasyUI DataGrid中的信息进行批量的操作,所要实现的功能为:批量对教师在线培训项目的状态改为关闭。

一、EasyUI批量操作样式

为了能够对EasyUI中的多行数据进行操作,需添加复选框。如下图所示:

这里写图片描述

EasyUI中的DataGrid的复选框代码如下所示:

 <table id="ddg1" class="easyui-datagrid"
               data-options="
               url:'/getonline_infomation',
               method:'get',
               border:false,
               singleSelect:false,
               checkbox:true,
               fit:true,
               collapsible:false,
               pagination:true,
               pageSize:25,
               pageList:[25,15,10]">
            <thead>
            <tr>
                <th data-options="field:'cb',align:'center',width:'110px',checkbox:'true'"></th>
                <th data-options="field:'train_no',align:'center',width:'100px'">培训编号</th>
                <th data-options="field:'train_name',align:'center',width:'200px'">培训名称</th>
                <th data-options="field:'hours',align:'center',width:'90px'">学时</th>
                </tr>
            </thead>
        </table>

在上述代码中主要的代码为以下3行

      singleSelect:false,
      checkbox:true,

      //上述两行代码为了在每行数据前添加一个复选框,可以自定义对多行数据进行选中

      //如果不加这行代码,则将无法自定义选取每一行

      <th data-options="field:'cb',align:'center',checkbox:'true'"></th>

      //上述一行代码,是在DataGrid表头中出现复选框,可以所有数据进行操作

      //上述代码中的fileld:后的属性名,不能和和所展示的属性信息名一样   随意命名

二、前台js代码

1、按钮样式

<a href="#button" class="button icon log" onclick="someOnlineVerity()">批量审核</a>

2、按钮js函数

//<![CDATA[
        function someOnlineVerity() {
        var rows = $('#ddg1').datagrid('getSelections');
        if (rows.length>0) {
            //判断项目中还有没有教师
            $.messager.confirm('批量审核', '选中的信息是否全部审核?', function(r) {
                if (r) {
                    for (var i = 0; i < rows.length; i++) {
                        var row = rows[i];
                        $.ajax({
                            url : "/someOnlineVerity",
                            type : "POST",
                            data : {"state" : row.state, "train_no":row.train_no},
                            dataType : 'json',
                            /*success: function (result) {
                                /!*var result = eval('(' + result + ')');
                                if (result.success=="true"){*!/
                                if (result="success"){
                                    alert(result.success);
                                    $.messager.alert('Success','批量审核成功');
                                    $('#ddg1').datagrid('reload');
                                }
                            }*/
                        });
                        location.reload();
                    }

                }
            });
        }
    }
    //]]>

//CDATA详解见如下链接:http://www.w3school.com.cn/xml/xml_cdata.asp
//主要防止将小于号解析成<

三、后台Java代码

//mapper类代码
@Update("update online_train set state=#{state} where train_no=#{train_no}")
    public void someOnlineVerity(@Param( "state" ) String state, @Param( "train_no" ) String train_no);


//service类代码
public void someOnlineVerity(String state,String train_no){
        trainManagementMapper.someOnlineVerity(state, train_no);
    }

//controller类代码
@RequestMapping(value = "/someOnlineVerity", method = {RequestMethod.GET, RequestMethod.POST})
@ResponseBody
    public String someOnlineVerity(HttpServletRequest request,HttpSession session){

        String train_no=request.getParameter("train_no");
        String state="开放";
        trainManagementService.someOnlineVerity(state,train_no);
        return "success";
    }

四、效果展示

这里写图片描述

这里写图片描述












猜你喜欢

转载自blog.csdn.net/wilson_m/article/details/81258218