Bootstrap Table列宽拖动的方法
在之前做过的一个web项目中,前端表格是基于jQuery和Bootstrap Table实现的,要求能利用拖动改变列宽,现将实现的过程记录如下:
1. Bootstrap Table可拖动,需要用到它的Resizable扩展插件,具体可见bootstrap-table的官方文档链接:http://bootstrap-table.wenzhixin.net.cn/zh-cn/extensions/
进入之后,找到Resizable插件,点击Home进入github可以找到详细的用法。
2. 用法是直接引入该js插件,不过可以看到,这个插件还依赖于colResizable v1.6(下载地址:http://www.bacubacu.com/colresizable/)
<script src="colResizable-1.6.min.js"></script> <script src="extensions/bootstrap-table-resizable.js"></script>
3. 另外,在使用Bootstrap Table的时候,建议用js去设置table的列属性,即按照如下方式:
$(\'#myTable\').bootstrapTable({ url: url, method: \'post\', columns:[{ align: \'center\', checkbox:true, width:\'15\', valign: \'middle\' },{ field: \'name\', title: \'名称\', align: \'center\', width:\'100\', valign: \'middle\' },{ field: \'desc\', title: \'描述\', width:500, align: \'left\', valign: \'middle\' }] });
上面这种方式可以通过修改width的大小来直接修改列的宽度。而还有一种写法是在HTML中设置table的列头部,这种方式是很难调整宽度的,且很容易导致列头与内容无法对齐,是不推荐的,例如:
<thead> <tr> <th data-field="id" data-width="50px">编号</th> <th data-field="name" data-width="100px">姓名</th> <th data-field="desc" data-width="120px">描述</th> </tr> </thead>