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. Ubuntu18.04下修改快捷键

    Ubuntu下修改快捷键 Intelij Idea在Ubuntu下的快捷键几乎和windows差不多,最常用的一个快捷键与系统冲突: Ctrl + Alt + T idea是surround with ...

  2. python threading Semaphore

    #Semaphore 是用于控制进入数量的锁,控制同时进行的线程,内部是基于Condition来进行实现的 #文件, 读.写, 写一般只是用于一个线程写,读可以允许有多个 #做爬虫 import th ...

  3. JSONObject解析json数据

    首先先看一下我们要解析的json数据是什么样子的: 代码: String url="http://113.57.190.228:8001/Web/Report/GetBigMSKReport ...

  4. Linux(CentOS)启动时自动执行脚本(rc.local)

    下面说说通过rc.local文件进行开机启动 1.首先创建一个启动脚本,这里以启动docker为例 创建 docker-startup.sh 脚本 #! /bin/bash /usr/bin/mk-d ...

  5. opencv 图像旋转

    理论 http://www.cnblogs.com/wangguchangqing/p/4045150.html 翻开任意一本图像处理的书,都会讲到图像的几何变换,这里面包括:仿射变换(affine ...

  6. OpenGL入门1.3:着色器 GLSL

    前言 经过之前一段时间的学习(渲染管线简介)我们已经知道了着色器(Shader)是运行在GPU上的程序,这些小程序为图形渲染管线的某个特定部分而运行,着色器只是一种把输入转化为输出的程序,着色器也是一 ...

  7. Docker入门学习及其安装

    1.Docker是一个开源的应用容器引擎,基于Go语言并遵从Apache2.0协议开源.Docker可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后发布到任何流行的Linux机器 ...

  8. C#,NPOI,Export Generic T Data

    1.Nuget 下载NPOI; Install-package NPOI -version 2.4.1 2.下载EF install-package entityframework -version ...

  9. Asp.Net真分页技术

    最近学校要做课题,闲来没事研究了下Asp.net的分页,我使用Repeater进行数据的绑定,每次从数据库读取到8条数据填充到Repeater中,这样搞可以降低数据库的压力,提高效率. 效果图如下: ...

  10. Java学习——日期类

    Java学习——日期类 摘要:本文主要记录了Java开发中用到的和日期有关的类以及对日期的操作. 部分内容来自以下博客: https://www.cnblogs.com/talk/p/2680591. ...