通过调用Bootstrap Table的扩展js(bootstrap-table-editable.js,bootstrap-editable.js)可设置编辑表格行内数据。前端设置编辑表格数据,界面展示效果如下:
对于修改表格内容时的提示框样式,可修改bootstrap-table-editable.js中的源码处理noeditFormatter函数,修改样式参考代码如下:
Metable").bootstrapTable({
method: 'post',//请求方式(*)
height: MP.Const.dataGridHeight,toolbar: '#checkovertimeinfo_toolbar',//工具按钮用哪个容器
striped: true,//是否
显示行间隔色
cache: false,//是否使用缓存,默认为true,所以一般情况下需要设置一下这个
属性(*)
pagination: true,//是否
显示分页(*)
sortable: true,//是否启用排序
sortOrder: "asc",//排序方式
sidePagination: "server",//
分页方式:client客户端
分页,server服务端
分页(*)
pageNumber: 1,//初始化加载第一页,默认第一页
pageSize: 20,//每页的记录行数(*)
pageList: [10,20,25,30],//可供选择的每页的行数(*)
//search: true,//是否
显示表格
搜索,此
搜索是客户端
搜索,不会进服务端,所以,个人感觉意义不大
strictSearch: true,singleSelect:false,showColumns: true,//是否
显示所有的列
showToggle:true,//是否
显示详细视图和列表视图的切换按钮
//showRefresh: false,//是否
显示刷新按钮
minimumCountColumns: 1,//最少允许的列数
//clickToSelect: true,//是否启用点击选中行
cardView: false,//是否
显示详细视图
detailView: false,//是否
显示父子表
showHeader: true,onEditableSave: function (field,oldValue,$el) {
//单行数据
修改后,保存到
后台
var param={};
var listUuid=[];
listUuid[0]=row.uuid;
param.listUuid=listUuid;
param.overTimeStatus=row.overTimeStatus;
MP.doAction("sccq-overtime-update",param,function(data)
{
if(data.success)
{
MP.Msg.info('审核操作完成');
}
me.ajaxGetData();
},null,true,true);
},columns: [
{
title: "全选",field: "select",checkBox: true,align: "left",//水平居中
halign: "left",//垂直居中
},{
field: "uuid",align: 'center',title: "个人分析",formatter: function (value) {
var html = "" +
"查看";
return html;
}
},{
align: "left",//垂直居中
field: "createByDesc",title: "加班人"
},halign: "left",field: "overTimeDate",sortable:true,title: "加班日期",formatter: function (value) {
return MP.dateFormatter(value);
}
},field: "beginTime",title: "加班开始时间"
},field: "endTime",title: "加班结束时间"
},field: "overTimeHour",title: "加班小时"
},field: "overTimeStatus",title: "审核状态",editable: {
type: 'select',pk: 1,source: [
{value: 2,text: '审核通过'},{value: 3,text: '驳回'}
],noeditFormatter: function (value,index) {
var result;
if (value == '1' || value == '待审核') {
result={filed:"overTimeStatus",value:"待审核",class:"badge bg-orange",style:"padding:5px 10px;"};
} else if (value == '2' || value == '审核通过'){
result={filed:"overTimeStatus",value:"审核通过",class:"badge bg-green",style:"padding:5px 10px;"};
}
else if (value == '3' || value == '驳回'){
result={filed:"overTimeStatus",value:"驳回",class:"badge bg-red",style:"padding:5px 10px;"};
}
return result;
}
}
},field: "projectNameDesc",title: "所属项目"
},field: "overTimeAddressDesc",title: "加班地点"
},field: "eatMoney",title: "加班餐费"
},field: "taxiMoney",title: "加班车费"
},field: "overTimeRemark",title: "备注"
}
],onPageChange:function(number,size)
{
//设置在分页事件触发时,传递分页参数给后台,重新加载数据
me.queryBaseParam.limit=size;
me.queryBaseParam.start=number;
me.ajaxGetData();
},onSort: function (name,order) {
me.queryBaseParam.sort=name;
me.queryBaseParam.order=order;
me.ajaxGetData();
},onClickRow: function (row,$elepment,field) {
if (field == 'uuid') {
//alert("查看页面");
var params={};
params.createBy=row.createBy;
params.createByDesc=row.createByDesc;
me.controller.showOvertimeSingleDetail(params);
}
}
});
},ajaxGetData: function () {
//加载后台数据
var me=this;
var params=MP.getFormData("searchOverTimeForm_person",this.controller);
params.QueryType=1;
params.limit= me.queryBaseParam.limit;
params.start= me.queryBaseParam.start;
params.sort= me.queryBaseParam.sort;
params.order= me.queryBaseParam.order;
MP.doAction("sccq-overtime-query",params,function (datas) {
if (datas.success) {
me.getCmp("overtiMetable").bootstrapTable('load',datas);
}
},function (datas) {
alert("数据加载失败");
},true);
}