BootDo框架的列表对应的js(固定表头及表格内编辑)

一、js初始化(固定表头):

//初始化Table
        $('#tb_order').bootstrapTable({
            url: '/TableStyle/GetOrder',         //请求后台的URL(*)
            method: 'get',                      //请求方式(*)
            //toolbar: '#toolbar',                //工具按钮用哪个容器
            striped: true,                      //是否显示行间隔色
            cache: false,                       //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
            pagination: true,                   //是否显示分页(*)
            sortable: false,                     //是否启用排序
            sortOrder: "asc",                   //排序方式
            queryParams: oTableInit.queryParams,//传递参数(*)
            sidePagination: "server",           //分页方式:client客户端分页,server服务端分页(*)
            pageNumber: 1,                       //初始化加载第一页,默认第一页
            pageSize: 10,                       //每页的记录行数(*)
            pageList: [10, 25, 50, 100],        //可供选择的每页的行数(*)
            search: true,                       //是否显示表格搜索,此搜索是客户端搜索,不会进服务端,所以,个人感觉意义不大
            strictSearch: true,
            showColumns: true,                  //是否显示所有的列
            showRefresh: true,                  //是否显示刷新按钮
            minimumCountColumns: 2,             //最少允许的列数
            clickToSelect: true,                //是否启用点击选中行
            height: 500,                        //行高,如果没有设置height属性,表格自动根据记录条数觉得表格高度
            uniqueId: "ID",                     //每一行的唯一标识,一般为主键列
            showToggle: true,                    //是否显示详细视图和列表视图的切换按钮
            cardView: false,                    //是否显示详细视图
            detailView: false,                   //是否显示父子表
            rowStyle: function (row, index) {
                //这里有5个取值代表5中颜色['active', 'success', 'info', 'warning', 'danger'];
                var strclass = "";
                if (row.ORDER_STATUS == "待排产") {
                    strclass = 'success';//还有一个active
                }
                else if (row.ORDER_STATUS == "已删除") {
                    strclass = 'danger';
                }
                else {
                    return {};
                }
                return { classes: strclass }
            },
            columns: [{
                checkbox: true
            }, {
                field: 'ORDER_NO',
                title: '订单编号'
            }, {
                field: 'ORDER_TYPE',
                title: '订单类型'
            }, {
                field: 'ORDER_STATUS',
                title: '订单状态'
            }, {
                field: 'REMARK',
                title: '备注'
            }, ]
        });

要设置表头固定的话,一定需要上面的height属性;

二、设置表格内编辑

引入额外的js:

<link rel="stylesheet" href="//rawgit.com/vitalets/x-editable/master/dist/bootstrap3-editable/css/bootstrap-editable.css">
<script src="//rawgit.com/vitalets/x-editable/master/dist/bootstrap3-editable/js/bootstrap-editable.js"></script>
<script src="~/Content/bootstrap-table/extensions/editable/bootstrap-table-editable.js"></script>

对应的表格js:

{
         field: "name",
         title: "名称",
         editable:true
}

在js里面初始化表格的时候注册编辑保存的事件:

$('#tb_departments').bootstrapTable({
       url: '/Editable/GetDepartment',         //请求后台的URL(*)
         method: 'get',                      //请求方式(*)
         toolbar: '#toolbar',                //工具按钮用哪个容器
         striped: true,                      //是否显示行间隔色
         cache: false,                       //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
         pagination: true,                   //是否显示分页(*)
         sortable: false,                     //是否启用排序
         sortOrder: "asc",                   //排序方式
         queryParams: oTableInit.queryParams,//传递参数(*)
         sidePagination: "server",           //分页方式:client客户端分页,server服务端分页(*)
         pageNumber: 1,                       //初始化加载第一页,默认第一页
         pageSize: 10,                       //每页的记录行数(*)
         onEditableSave: function (field, row, oldValue, $el) {
             $.ajax({
                 type: "post",
                 url: "/Editable/Edit",
                 data: { strJson: JSON.stringify(row) },
                 success: function (data, status) {
                     if (status == "success") {
                         alert("编辑成功");
                     }
                 },
                 error: function () {
                     alert("Error");
                 },
                 complete: function () {

                 }

             });
         }
   });

对应的方法里面需要自己处理保存的逻辑。四个参数field, row, oldValue, $el分别对应着当前列的名称、当前行数据对象、更新前的值、编辑的当前单元格的jQuery对象。

猜你喜欢

转载自blog.csdn.net/shunzi1046/article/details/80766087