bootstrap-table 列拖动
时间:2019-11-26
本文章向大家介绍bootstrap-table 列拖动,主要包括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 infoGatherObj = CommonJS.getUrlParamObject(); $("#input_reportFormId").val(infoGatherObj["reportFormId"]); // $("#input_reportFormName").val(infoGatherObj["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;
}
原文地址:https://www.cnblogs.com/zhukaixin/p/11937865.html
- Spring AOP中 args和arg-names的区别
- Golong 语言开发 go-websocket-sample 测试值得拥有
- Java面试系列23-spring(2)-配置数据库驱动、依赖、Mapping等
- 【Golang语言社区】 Go语言中使用 Protobuf
- Java面试系列21-xml
- tensorflow载入数据的三种方式 之 TF生成数据的方法
- JS游戏开发 可移动地图的实现
- Java面试系列-多线程
- pymongo.errors:Sort operation used more than the maximum 33554432 bytes of RAM. Add an index,
- PG学习初体验--源码安装和简单命令(r8笔记第97天)
- Pymongo: TypeError: if no direction is specified, key_or_list must be an instance of list
- Java面试系列19-Struts2
- JS游戏开发,让你的静态人物动起来(来自网路)
- Golang语言websocket源码
- HTML 教程
- HTML 简介
- html div 标签介绍
- html span 标签介绍
- html a 超链接标签
- HTML Br换行标签介绍
- HTML P段落标签介绍
- HTML br与p标签区别
- Html H 标题标签
- html px em pt长度单位
- HTML form 标签
- HTML radio 单选框
- HTML B 加粗标签
- HTML strong加粗粗体标签
- HTML em 强调标签
- HTML i 斜体标签
- HTML u下划线标签
- HTML s 删除线标签
- Html img 图片标签
- Html上标注sup与下标注sub标签
- HTML nobr 禁止换行标签
- HTML hr 水平线标签
- HTML label 标签
- HTML input 标签
- HTML textarea 标签
- HTML select下拉列表标签
- HTML checkbox 多选框
- HTML font color 标签
- HTML iframe 框架标签
- HTML Table 表格
- HTML dl dt dd 标签
- HTML ol li有序列表标签
- HTML ul li 无序列表标签
- HTML 注释
- CSS 教程
- CSS 简介
- CSS 语法
- CSS Id 和 Class选择器
- CSS 样式的创建
- CSS background 背景介绍
- CSS 文本样式
- CSS font 字体
- CSS A 链接
- CSS ul ol列表样式
- CSS TABLE 样式
- CSS 框模型
- CSS border 边框
- CSS Outlines 轮廓
- CSS 外边距 Margin
- CSS Padding 内边距
- CSS 分组和嵌套选择器
- CSS 尺寸 (Dimension)
- CSS Display 属性
- CSS Position 定位
- CSS Float 浮动
- CSS 水平对齐(Horizontal Align)
- CSS 组合选择符
- CSS 伪类
- CSS 伪元素
- CSS 导航栏
- CSS 下拉菜单
- CSS 图片廊
- CSS 图像透明/不透明
- CSS sprite 图像拼合技术
- CSS 媒体类型
- CSS 属性选择器
- CSS 实例
- linux查看磁盘使用情况方法
- 详解Linux(centos7)下安装OpenSSL安装图文方法
- 面试官:考你几个简单的事件问题吧
- 如何创建Linux的swap交换分区文件的方法步骤
- Linux利用keepalived实现lvs的高可用性的操作方法
- Canvas系列(11):动画中级
- 使用autoconf生成Makefile并编译工程的步骤
- frida- registernatives获取so层动态注册函数
- Ubuntu下安装并配置VS Code编译C++的方法
- LInux下如何挂载光盘找rpm包的方法步骤
- Linux 改变文件大小的方法
- Canvas系列(9):其他API
- CentOS7将Nginx添加系统服务的方法步骤
- linux ss命令详解
- 如何在Linux中设置快捷方式图标