bootstrap-table 列宽动态拖拽改变宽度

      项目中前台页面使用 的bootstrap-table插件,客户要求列宽可拖拽,研究了一下午终于搞定。

      需要依赖另外两个扩展插件
      colResizable-1.6.js
      bootstrap-table-resizable.js

   页面文件引入顺序:

        <script th:src="@{/scripts/assets/global/plugins/jquery.min.js}" type="text/javascript"></script>
        <script th:src="@{/scripts/js/bootstrap-table/1.12.1/bootstrap-table.js}" type="text/javascript"></script>
        <script th:src="@{/scripts/assets/global/plugins/bootstrap-table/locale/bootstrap-table-zh-CN.js}" type="text/javascript"></script>
        <script th:src="@{/scripts/js/bootstrap-table/1.12.1/extensions/colresizable/colResizable-1.6.js}" type="text/javascript"></script>
<script th:src="@{/scripts/js/bootstrap-table/1.12.1/extensions/resizable/bootstrap-table-resizable.js}" type="text/javascript"></script>

页面执行:

 $(document).ready(function () {

$("#fqacheckreport-form").SbzInitValidator();
$("#fqacheckreport-form").SbzResetValidator();


//初始化校验并清空校验信息
$("#fqacheckreport-form").SbzInitValidator();
$("#fqacheckreport-form").SbzResetValidator();
//调用函数,初始化表格
initTable();
displayFirstTr();
$("#fmeastandardSearchBtn").bind("click", queryData);
$("#amtTrackingTable").colResizable();
});

var queryData = function (){
var form = $("#fqacheckreport-form");
var isCorrect =verificationData(form);
if(!isCorrect){
return;
}

var url="../fqaResultReport/findFqaResultReportByPage";
$('#auditFqatemplateinfoTable').bootstrapTable('refresh',{'url':url});
}

function initTable() {
//隐藏正在加载
$('#auditFqatemplateinfoTable').bootstrapTable('hideLoading');
$('#auditFqatemplateinfoTable').bootstrapTable({
// url: "../fqaResultReport/findFqaResultReportByPage",
method: 'POST',
dataType: "json",
dataField: 'rows',
striped: true,//设置为 true 会有隔行变色效果
undefinedText: "",//当数据为 undefined 时显示的字符
pagination: true, //设置为 true 会在表格底部显示分页条。
paginationPos:"tableDiv",
showToggle: "true",//是否显示 切换试图(table/card)按钮
showColumns: "true",//是否显示 内容列下拉框
showLoading: false,
pageNumber: 1,//初始化加载第一页,默认第一页
pageSize: 10,//每页的记录行数(*
pageList: [10, 20, 30, 40],//可供选择的每页的行数(*),当记录条数大于最小可选择条数时才会出现
paginationPreText: '上一页',
paginationNextText: '下一页',
search: false, //是否显示表格搜索,bootstrap-table服务器分页不能使用搜索功能,可以自定义搜索框,上面jsp中已经给出,操作方法也已经给出
striped : true,//隔行变色
showColumns: false,//是否显示 内容列下拉框
showToggle: false, //是否显示详细视图和列表视图的切换按钮
clickToSelect: true, //是否启用点击选中行
data_local: "zh-US",//表格汉化
sidePagination: "server", //服务端处理分页
queryParamsType : "limit",//设置为 ‘limit’ 则会发送符合 RESTFul 格式的参数.
queryParams: function(params){//向后台传值
var form = $("#fqacheckreport-form");
var obj = $(form).serializeObject();
if(obj.entity!= undefined && !$.isArray(obj.entity))
{obj.entityList = [obj.entity];}

obj.start=params.offset;
obj.length=params.limit;
obj.checktypetext=$("#fqareport-checktype").find("option:selected").text();
return JSON.stringify(obj);
},
responseHandler: function (res) {
      return res;
},
columns: [
[
{
title: [[#{fqacheckreport.checkdate}]],
valign:"middle",
align:"center",
120
},{
title: [[#{fqacheckreport.checkperson}]],
valign:"middle",
align:"center",
120
},{
title: [[#{fqacheckreport.entity}]],
valign:"middle",
align:"center",
120
},{
title: [[#{fqacheckreport.branch}]],
valign:"middle",
align:"center",
120
},{
title: [[#{fqacheckreport.projectname}]],
valign:"middle",
align:"center",
120
},{
title: [[#{fqacheckreport.producttype}]],
valign:"middle",
align:"center",
120
},{
title: [[#{fqacheckreport.equipmenttype}]],
valign:"middle",
align:"center",
120
},{
title: [[#{fqacheckreport.xh}]],
valign:"middle",
align:"center",
120
},{
title: [[#{fqacheckreport.sd}]],
valign:"middle",
align:"center",
120
},{
title: [[#{fqacheckreport.czm}]],
valign:"middle",
align:"center",
120
},{
title: [[#{fqacheckreport.score}]],
valign:"middle",
align:"center",
80
},{
title: [[#{fqacheckreport.supervision}]],
valign:"middle",
align:"center",
80
},{
title: [[#{fqacheckreport.technician1}]],
valign:"middle",
align:"center",
80
},{
title: [[#{fqacheckreport.technician2}]],
valign:"middle",
align:"center",
80
},{
title: [[#{fqacheckreport.lineNo}]],
valign:"middle",
align:"center",
120
},
{
title: [[#{fqacheckreport.importantquestion}]],
valign:"middle",
align:"center",
colspan: 5,
460,
cellStyle:{
css:{"border-top-width":"2px !important"}
}
},
{
title: [[#{fqacheckreport.lessimpquestion}]],
valign:"middle",
align:"center",
colspan: 5,
920
}
],
[
{
field: 'checkDate',
valign:"middle",
align:"center",120
},
{
field: 'checkPerson',
valign:"middle",
align:"center"
},
{
field: 'entity',
valign:"middle",
align:"center"
},
{
field: 'branch',
valign:"middle",
align:"center"
},{
field: 'projectName',
valign:"middle",
align:"center"
},{
field: 'contractNo',
valign:"middle",
align:"center"
},{
field: 'equipmentType',
valign:"middle",
align:"center"
},{
field: 'productType',
valign:"middle",
align:"center"
},{
field: 'SD',
valign:"middle",
align:"center",
},{
field: 'CZM',
valign:"middle",
align:"center"
},{
field: 'score',
valign:"middle",
align:"center"

},{
field: 'supervision',
valign:"middle",
align:"center"
},{
field: 'technician1',
valign:"middle",
align:"center"
},{
field: 'technician2',
valign:"middle",
align:"center"
},{
field: 'lineNo',
valign:"middle",
align:"center"
},
{
field: 'importance1',
valign:"middle",
align:"left"
},
{
field: 'importance2',
valign:"middle",
align:"left"
},
{
field: 'importance3',
valign:"middle",
align:"left"
},
{
field: 'importance4',
valign:"middle",
align:"left"
},
{
field: 'importance5',
valign:"middle",
align:"left"
},
{

field: 'lessimp1',
valign:"middle",
align:"left"
}, {

field: 'lessimp2',
valign:"middle",
align:"left"
}, {

field: 'lessimp3',
valign:"middle",
align:"left"
}, {

field: 'lessimp4',
valign:"middle",
align:"left"
}
, 
{ 

field: 'lessimp5',
valign:"middle",
align:"left"
}

] ], 


formatLoadingMessage: function(){
$("#auditFqatemplateinfoTable thead").children("tr").eq(1).css("display","none");
return ""; },

onLoadSuccess: function () {
displayFirstTr();
$.each($('#auditFqatemplateinfoTable tbody tr'), function (trI, tr) {
$.each($(tr).find('td'), function (tdI, td) {
$(td).popover({
placement: 'auto bottom',
container: 'body',
content: $(this).text(),
trigger:'hover'
}); }) }) },



onLoadError: function () {
displayFirstTr(); } });


//隐藏正在加载
$('#auditFqatemplateinfoTable').bootstrapTable('hideLoading');
$("#amtTrackingTable").colResizable();}
 
 
原文地址:https://www.cnblogs.com/DylanZ/p/12834636.html