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 列拖动的更多相关文章

  1. Bootstrap Table列宽拖动的方法

    在之前做过的一个web项目中,前端表格是基于jQuery和Bootstrap Table实现的,要求能利用拖动改变列宽,现将实现的过程记录如下: 1. Bootstrap Table可拖动,需要用到它 ...

  2. 关于如何解决bootstrap table 列 切换 刷新 高度不一样

    在使用bootstrap table时候,碰到bootstrap table 列 切换 刷新 高度不一样的问题,如图所示: 解决这个问题很简单,在你的页头加一句<!DOCTYPE html> ...

  3. bootstrap table 列求和

    <div class="modal fade in" id="_modalDialog" tabindex="1" role=&quo ...

  4. JS组件系列——Bootstrap Table 冻结列功能IE浏览器兼容性问题解决方案

    前言:最近项目里面需要用到表格的冻结列功能,所谓“冻结列”,就是某些情况下表格的列比较多,需要固定前面的几列,后面的列滚动.遗憾的是,bootstrap table里自带的fixed column功能 ...

  5. bootstrap table 标题列重复

    使用bootstrap table生成表格,出现一个奇怪问题,标题列重复.查了一大堆资料,没有找到可以解决问题的. 以为是类库版本的问题,全部替换成了example中的引用,还是这个问题. 后来仔细查 ...

  6. [转] BootStrap table增加一列显示序号

    原文地址:https://blog.csdn.net/aboboo5200/article/details/78839208 最近由于项目需要,使用BootStrap table做数据展示,其中要在第 ...

  7. [转]bootstrap table 动态列数

    原文地址:https://my.oschina.net/u/2356355/blog/1595563 据说bootstrap table非常好用,从入门教程中了解到它的以下主要功能: 由于固定表头意味 ...

  8. bootstrap table 怎么实现前两列固定冻结?

    $("#Table").bootstrapTable('destroy').bootstrapTable({ pagination: true,//分页 minimumCountC ...

  9. JS组件系列——表格组件神器:bootstrap table(二:父子表和行列调序)

    前言:上篇 JS组件系列——表格组件神器:bootstrap table 简单介绍了下Bootstrap Table的基础用法,没想到讨论还挺热烈的.有园友在评论中提到了父子表的用法,今天就结合Boo ...

  10. 新的表格展示利器 Bootstrap Table

     1.bootstrap table简介及特征 Bootstrap Table是国人开发的一款基于 Bootstrap 的 jQuery 表格插件,通过简单的设置,就可以拥有强大的单选.多选.排序.分 ...

随机推荐

  1. angular修改端口号port

    报错:Port 4200 is already in use. Use '--port' to specify a different port. 因为4200端口已被使用,请使用“--port”修改 ...

  2. OC 字典dictionaryWithObjectsAndKeys报错

    字典dictionaryWithObjectsAndKeys crash,也没有控制台打印输出: 解决方案!! 1.检查dictionaryWithObjectsAndKeys中的object key ...

  3. 坑爹的京东E卡(京东E卡的正确使用方式)

      前言    今年中秋公司发了200的京东E卡(下面简称礼品卡,京东简称jd)这让喜欢在jd自营购买商品的我很是开心,    兴致勃勃打开官网,当我选好商品准备结算时却发现礼品卡无法使用.    后 ...

  4. LaTex语法

    排版数学公式是TeX系统设计的初衷,它在LaTeX中占有特殊地位,也是LaTeX最为人所称道的功能之一.基于对MathType排版效果的不满意,以及对公式进行检索的需求,我们使用LaTeX输入数学公式 ...

  5. 【redis】redis异常-MISCONF Redis is configured to save RDB snapshots

    使用redis报错: MISCONF Redis is configured to save RDB snapshots, but it is currently not able to persis ...

  6. [CrackMe]160个CrackMe之002

    吾爱破解专题汇总:[反汇编练习]160个CrackME索引目录1~160建议收藏备用 一.逆向分析之暴力破解 暴力破解,对于这种具有提示框的,很好定位. 定位好之后,爆破其跳转语句,就能达到破解目的. ...

  7. 第九届极客大挑战——Geek Chatroom(sql盲注)

    首先观察这个web应用的功能,可以任意留言,也可以搜索留言,当然我还用cansina扫描过网站,查看过源码,抓包查看过header等.没发现其他提示的情况下断定这就是个sql注入,可能存在的注入点呢, ...

  8. filebeat + ELK 部署篇

    ELK Stack Elasticsearch:分布式搜索和分析引擎,具有高可伸缩.高可靠和易管理等特点.基于 Apache Lucene 构建,能对大容量的数据进行接近实时的存储.搜索和分析操作.通 ...

  9. git合并单个节点

    有两个分支 # git branch -a * branchA branchB A分支合并B分支单个节点 # git log commit 6b4f9e1e1a1e1ed3e7ca3a1f15ce1f ...

  10. https抓包 Fiddler

    打开Fiddler https抓包 安装证书 查看证书 打开Windows程序certmgr.msc 查找Fiddler证书 查看Fiddler证书是否安装成功 测试连接 使用Google Chrom ...