实现bootstrap table可设置列宽和可拖动列宽

文章介绍了如何通过引入jQuery、Bootstrap及BootstrapTable插件来实现表格的列宽可调整功能。提供了两种方法,一种是通过设置data-resizable属性,另一种是结合colResizable.js进行动态计算和宽度同步。还特别提到了在窗口resize时保持列宽对齐的处理策略,并给出了示例代码。
摘要由CSDN通过智能技术生成

1、引入js+css为方便使用已导入本地

<script src="dist/jquery-3.3.1.js"></script>
<link href="dist/bootstrap3.3.7.min.css" rel="stylesheet" />
<link href="dist/bootstrap-table-1.18.1.min.css" rel="stylesheet">
<script src="dist/bootstrap-table-1.14.1.js"></script>
<script src="dist/colResizable-1.6.js"></script>
<script src="dist/bootstrap-table-resizable.js"></script>

2、两种方式引入js和css后

(1)第一种设置data-resizable属性 表格会自动实现拖拽

//js中设置
$('#table').bootstrapTable({
		resizable: true;
})
//或者直接在html中设置属性
<table data-resizable="true"></table>

临界位置会出现…覆盖
在这里插入图片描述

(2)第二种通过动态计算宽度设置头部div宽度实现,可以配置最小的宽度minWidth

使用bootstrap-table-resizable.js + colResizable-1.6.js
$("#table").colResizable({
      onDrag: syncCol,
      liveDrag:true,
      minWidth: 70
  });
  //页面加载完成后,手动对齐一次
    syncCol();
    //window resize的时候,会出现列不完全对齐的情况,手动对齐
    $(window).resize(function() {
      syncCol();
    });
  function syncCol() {
  		//注意如果是网络请求没有数据是计算可能会出错所有没有数据的时候判断下
  		//$('#table tr:first-child td').length>1 具体可以根据自己表格结构判断下
      $('#table tr:first-child td').each(function() {
        $($('.fixed-table-header tr th')[$(this).index()]).find(".fht-cell").width($(this).width());
      });
    }
  

设置最小宽度后临界效果
在这里插入图片描述
demo下载地址

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值