bootstrap-table 列拖动
1.页面js/css
<!-- bootstrap 插件样式 -->
<link th:href="@{/common/bootstrap-3.3.6/css/bootstrap.min.css}" rel="stylesheet"/>
<link th:href="@{/common/bootstrap-3.3.6/css/bootstrap-theme.min.css}" rel="stylesheet"/>
<!-- bootstrap-table 表格插件样式 -->
<link th:href="@{/common/bootstrap-table-1.12.2/bootstrap-table.min.css}" rel="stylesheet"/>
<!-- bootstarp table 行拖动-->
<link th:href="@{/common/bootstrap-table-1.12.2/extensions/reorder-rows/bootstrap-table-reorder-rows.css}" rel="stylesheet"/> <!-- bootstrap 插件 -->
<script th:src="@{/common/bootstrap-3.3.6/js/bootstrap.min.js}"></script>
<!-- bootstrap-table 表格插件 -->
<script th:src="@{/common/bootstrap-table-1.12.2/bootstrap-table.min.js}"></script>
<script th:src="@{/common/bootstrap-table-1.12.2/locale/bootstrap-table-zh-CN.min.js}"></script>
<!-- bootstarp table 行拖动-->
<script th:src="@{/common/TableDnD-1.0.3/dist/jquery.tablednd.1.0.3.min.js}"></script>
<script th:src="@{/common/bootstrap-table-1.12.2/extensions/reorder-rows/bootstrap-table-reorder-rows.js}"></script>
2.页面定义table
<div class="container-div ui-layout-center">
<div class="col-sm-12 search-collapse" style="margin-top: 20px">
<table id="table_sortShowNorm" data-mobile-responsive="true"></table>
</div>
</div>
3.自定义js
$(function () {
initTable();
});
/* 初始table */
function initTable() {
// 初始化Table
var oTable = new tableInit();
oTable.init();
}
/* bootstrapTable组件初始化方法 */
var tableInit = function () {
var Obj = CommonJS.getUrlParamObject();
$("#input_reportFormId").val(Obj["reportFormId"]);
// $("#input_reportFormName").val(Obj["reportFormName"]);
var tableVal = {};
// 初始化表单数据
tableVal.init = function () {
var obj = CommonJS.getUrlParamObject();
var tid = obj.tid;
$('#table_sortShowNorm').bootstrapTable({
url: ctx + "report/issueReport/customColumnsConf", // 请求后台的URL(*)
undefinedText: '',// 当数据为undefined时显示的字符,默认是'-'
toolbar: 'false', // 工具按钮用哪个容器
toolbarAlign: 'false', // 工具按钮的位置
striped: false, // 是否显示行间隔色
queryParams: {reportFormId: $("#input_reportFormId").val()}, // 传递参数(*)
pagination: false,//是否分页
uniqueId: "tid", // 每一行的唯一标识,一般为主键列
field: 'checked',
checkbox: true,
formatter: stateFormatter,
showColumns: false,// 是否显示列的按钮
reorderableRows: true, //设置拖动排序
useRowAttrFunc: true, //设置拖动排序
columns: [{
field: 'checked',
checkbox: true,
formatter: stateFormatter
}, {
title: '序号',
formatter: function (value, row, index) {
return index + 1;
},
align: 'center'
}, {
field: 'name',
title: '名称',
align: 'center',
cellStyle: {
css: {
"text-align": "center !important"
}
}
}],
responseHandler: function (res) {
if (res.success) {
$('#input_cacheId').val(res.data.tid);
$('#input_modifyTime').val(res.data.modifyTime);
var data = res.data.treeDto;
return data;
} else {
CommonJS.modal.alertError(res.message);
}
return res;
}
});
//判断是否是选中的
function stateFormatter(value, row, index) {
if (row.checked == "true") {
return {
disabled: false,//设置是否可用
checked: true//设置选中
};
}
return value;
}
};
return tableVal;
};
4.点击保存传递的id
$("#a_custom").on("click", function () {
var name = $("#input_reportFormName").val().split("---")[0];
var index1 = layer.open({
type: 2, // 2|iframe层
title: '【' + name + '】 可显示列',
area: ["580px", "500px"],
//maxmin: true, // 最大化,最小化
content: encodeURI(ctx + "report/issueReport/customColumnsView?reportFormId=" + $("#input_reportFormId").val()),
btn: ['保存', '取消'],
yes: function (index, layero) {
var iframe = layero.find('iframe')[0].contentWindow;//获取弹框页
reportFormId = iframe.$('#input_reportFormId').val();
tid = iframe.$('#input_cacheId').val();
modifyTime = iframe.$('#input_modifyTime').val();
var ids = "";
var allReportxIds = "";
//获取选中的id
var rows = iframe.$("#table_sortShowNorm").bootstrapTable('getSelections');
//获取所有的id
var rowsAll = iframe.$("#table_sortShowNorm").bootstrapTable('getData');
for (var i = 0; i < rows.length; i++) {
ids += rows[i]['id'] + ",";
}
ids = ids.substring(0, ids.length - 1);
for (var i = 0; i < rowsAll.length; i++) {
allReportxIds += rowsAll[i]['id'] + ",";
}
allReportxIds = allReportxIds.substring(0, allReportxIds.length - 1);
$.ajax({
type: "post",//方法类型
dataType: "json",//预期服务器返回的数据类型
url: encodeURI(ctx + "report/issueReport/doEditCustomColumnsConf"),//url
data: {reportFormId: reportFormId, tid: tid, modifyTime: modifyTime, allReportxIds: allReportxIds, showReportxIds: ids},
success: function (result) {
//按钮【按钮一】的回调
if (result.success) {
resetScheduleLists();
//layer.alert("操作成功");
layer.close(index);
} else {
CommonJS.modal.alertError(result.message);
}
}
});
},
cancel: function (index, layero) {
layer.close(index);
}
});
});
5.后台接受传递的参数
public class R implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
private BigDecimal tid;
/**
* 表格所有id
*/
private String allReportxIds;
private String showReportxIds;
/**
* 选中的
*/
private BigDecimal reportFormId;
}
6.后台传前台的数据封装成List
注意问题:
列拖动需要设置的一些属性和方法: field: 'checked',//选中字段
checkbox: true,//复选
formatter: stateFormatter,
reorderableRows: true, //设置拖动排序
useRowAttrFunc: true, //设置拖动排序
columns: [{
field: 'checked',
checkbox: true,
formatter: stateFormatter
}]
//判断是否是选中的
function stateFormatter(value, row, index) {
if (row.checked == "true") {
return {
disabled: false,//设置是否可用
checked: true//设置选中
};
}
return value;
}
bootstrap-table 列拖动的更多相关文章
- Bootstrap Table列宽拖动的方法
在之前做过的一个web项目中,前端表格是基于jQuery和Bootstrap Table实现的,要求能利用拖动改变列宽,现将实现的过程记录如下: 1. Bootstrap Table可拖动,需要用到它 ...
- 关于如何解决bootstrap table 列 切换 刷新 高度不一样
在使用bootstrap table时候,碰到bootstrap table 列 切换 刷新 高度不一样的问题,如图所示: 解决这个问题很简单,在你的页头加一句<!DOCTYPE html> ...
- bootstrap table 列求和
<div class="modal fade in" id="_modalDialog" tabindex="1" role=&quo ...
- JS组件系列——Bootstrap Table 冻结列功能IE浏览器兼容性问题解决方案
前言:最近项目里面需要用到表格的冻结列功能,所谓“冻结列”,就是某些情况下表格的列比较多,需要固定前面的几列,后面的列滚动.遗憾的是,bootstrap table里自带的fixed column功能 ...
- bootstrap table 标题列重复
使用bootstrap table生成表格,出现一个奇怪问题,标题列重复.查了一大堆资料,没有找到可以解决问题的. 以为是类库版本的问题,全部替换成了example中的引用,还是这个问题. 后来仔细查 ...
- [转] BootStrap table增加一列显示序号
原文地址:https://blog.csdn.net/aboboo5200/article/details/78839208 最近由于项目需要,使用BootStrap table做数据展示,其中要在第 ...
- [转]bootstrap table 动态列数
原文地址:https://my.oschina.net/u/2356355/blog/1595563 据说bootstrap table非常好用,从入门教程中了解到它的以下主要功能: 由于固定表头意味 ...
- bootstrap table 怎么实现前两列固定冻结?
$("#Table").bootstrapTable('destroy').bootstrapTable({ pagination: true,//分页 minimumCountC ...
- JS组件系列——表格组件神器:bootstrap table(二:父子表和行列调序)
前言:上篇 JS组件系列——表格组件神器:bootstrap table 简单介绍了下Bootstrap Table的基础用法,没想到讨论还挺热烈的.有园友在评论中提到了父子表的用法,今天就结合Boo ...
- 新的表格展示利器 Bootstrap Table
1.bootstrap table简介及特征 Bootstrap Table是国人开发的一款基于 Bootstrap 的 jQuery 表格插件,通过简单的设置,就可以拥有强大的单选.多选.排序.分 ...
随机推荐
- LeetCode 150:逆波兰表达式求值 Evaluate Reverse Polish Notation
题目: 根据逆波兰表示法,求表达式的值. 有效的运算符包括 +, -, *, / .每个运算对象可以是整数,也可以是另一个逆波兰表达式. Evaluate the value of an arithm ...
- Autoware 1.12 安装/DEMO
前言 昨天试了一下新版本,发现完全按照官网安装会提示一些问题,所以留下记录. PS,我选择从源码安装Autoware 1.12 配置列表: 系统:Ubuntu 18.04 ROS:Melodic CU ...
- MS14-068域提权漏洞复现
MS14-068域提权漏洞复现 一.漏洞说明 改漏洞可能允许攻击者将未经授权的域用户账户的权限,提权到域管理员的权限. 微软官方解释: https://docs.microsoft.com/zh-cn ...
- Python - MySQL - mysql-connector -第二十四天
序言 搭建MySQL环境MySQL Server. 请参考:https://blog.csdn.net/m0_37788308/article/details/79965378 或者 https:// ...
- IntelliJ IDEA2018激活码
使用前提: 在hosts文件里面添加一行,hosts文件在Windows系统中的路径:C:\Windows\System32\drivers\etc\,Linux系统存放在/etc目录下. 0.0.0 ...
- Struts2 常量配置
除了action的配置,struts还有其他的一些配置,比如编码方式. 这些配置用键值对来表示,键是固定的,是常量,所以也叫做常量配置. 常量配置有5种方式,Struts会按以下顺序依次搜索加载常量( ...
- SQL的简单函数(极客时间)
SQL的函数 函数就是将我们经常使用的代码封装起来, 需要的时候直接调用, 提高代码效率和可维护性. SQL函数一般是在数据上执行, 可以方便地转换和处理数据. 常用的SQL函数 SQL提供了一些常用 ...
- python从入门到放弃之进程进阶篇
什么我们得了解清楚什么是进程,进程就是系统分配的一个资源单位,真正在程序中干活得是线程,默认是每个进程中都拥有一个线程 然后我们在了解下什么是进程池这个概念 进程池是的数量是取决于我当前电脑的逻辑处理 ...
- 百度云部署SSL证书
查找中间证书 为了确保兼容到所有浏览器,我们必须在阿里云上部署中间证书,如果不部署证书,虽然安装过程可以完全也不会报错,但可能导致Android系统,Chrome 和 Firefox等浏览器无法识别. ...
- linux命令提示符解析
linux命令提示符 命令窗口中[root@chengfeng ~]# 表示什么意思? root 当前登录终端的用户 chengfeng 主机名(/etc/ ...