bootstrap源码使用 bootstrap设计的精美网站推荐
今天要做一个报表导入并预览的功能 , 使用layui的文件上传 , 获取表格数据 , 接着把表格数据返回前台 , 使用bootstraptable展示 , 实现一个预览表格数据的效果 。通过后台处理后的数据bootstraptable加载数据 , 其实具体实现不难 , 今天要讲的是在实现数据加载之后 , 我们出现了一些问题 , 我会附源码讲解问题的解决方案分享给大家
通过后台处理后的数据// 数据经过处理后,真实数据已做修改Data = https://www.yf-zs.com/shuma/[ {JJSRBY: 6666,JJSRBYLJ: 155666,JJZCBY: 777,JJZCBYLJ: 2266633,LJJY: 151515,NCYE: 121212,SZYEBY: 11111,SZYEBYLJ: -11559,XZ:"企业职工基本养老保险",ZFNL: 22.1}, {JJSRBY: 6666,JJSRBYLJ: 155666,JJZCBY: 777,JJZCBYLJ: 2266633,LJJY: 151515,NCYE: 121212,SZYEBY: 11111,SZYEBYLJ: -11559,XZ: "工伤保险",ZFNL: 22.1}, ...];bootstraptable加载数据// field 需要和 Data中每个对象中的字段名对应 。// $('#previewTable').bootstrapTable({data : Data,//toolbar: '#toolBar',striped: true, //是否显示行间隔色cache: false, //是否使用缓存 , 默认为true , //minimumCountColumns: 2, //最少允许的列数clickToSelect: true, //是否启用点击选中行columns: [[{field : 'XZ', title: '险种', rowspan:2, align:"center"},{field : 'NCYE', title: '年初余额', rowspan:2,halign:"center",align:"right",formatter: function(value, row, index) {let num = row.NCYE;return num.toFixed(2);}},{title: '基金收入', colspan:2,align:"center"},{title: '基金支出', colspan:2,align:"center"},{title: '当年收支结余', colspan:2,align:"center"},{field : 'LJJY',title:'累计结余', rowspan:2,halign:"center",align:"right",formatter: function(value, row, index) {let num = row.LJJY;return num.toFixed(2);}},{field : 'ZFNL',title: '支付能力(月)', rowspan:2,halign:"center",align:"right",formatter: function(value, row, index) {let num = row.ZFNL;return num.toFixed(1);}},],[{field : 'JJSRBY',title:'本月', colspan:1,halign:"center",align:"right",formatter: function(value, row, index) {let num = row.JJSRBY;return num.toFixed(2);}},{field : 'JJSRBYLJ',title:'本月止累计', colspan:1,halign:"center",align:"right",formatter: function(value, row, index) {let num = row.JJSRBYLJ;return num.toFixed(2);}},{field : 'JJZCBY',title:'本月', colspan:1,halign:"center",align:"right",formatter: function(value, row, index) {let num = row.JJZCBY;return num.toFixed(2);}},{field : 'JJZCBYLJ',title:'本月止累计', colspan:1,halign:"center",align:"right",formatter: function(value, row, index) {let num = row.JJZCBYLJ;return num.toFixed(2);}},{field : 'SZYEBY',title:'本月', colspan:1,halign:"center",align:"right",formatter: function(value, row, index) {let num = row.SZYEBY;return num.toFixed(2);}},{field : 'SZYEBYLJ',title:'本月止累计', colspan:1,halign:"center",align:"right",formatter: function(value, row, index) {let num = row.SZYEBYLJ;return num.toFixed(2);}}]],formatNoMatches : function() {return '<div style="color: #b8b8b8; height: 15px;"> 暂无数据 </div>';// 如果无数据则显示这个}});这个实现其实不难 , 但是 , 没想到的是 , 接下来的步骤出问题了 , 因为我们需要实现BootstrapTable重新加载 , 这种问题有以下两种解决方案:
原始加载的表格最重要的一点 , 写在最前面:BootstrapTable一个页面只能加载一次;想要重新加载 , 就必须先销毁 , 再重新初始化Bootstraptable 。
解决后加载表格
销毁的方法:
$(‘#id’).bootstrapTable(‘destroy’);
好了 , 接下来我们来看以以下具体实现方式
遇到此问题的情景在table上方添加了文本输入框 , 用于查询过滤table中的数据 , 因此需要根据查询条件 , 重新向后台向DAO层发送请求 , 返回新的结果 。
解决办法原始加载的表格这是一开始进入页面加载的表格 。
$('#infoList').bootstrapTable({url: '${pageContext.request.contextPath}/xx/xxx', //请求后台的URL(*)method: 'post', //请求方式(*)contentType: 'application/x-www-form-urlencoded',toolbar: '#toolbar', //工具按钮用哪个容器striped: true, //是否显示行间隔色cache: false, //是否使用缓存 , 默认为true , 所以一般情况下需要设置一下这个属性(*)pagination: true, //是否显示分页(*)sortable: false, //是否启用排序sortOrder: "desc", //排序方式sidePagination: "server", //分页方式:client客户端分页 , server服务端分页(*)pageNumber: 1, //初始化加载第一页 , 默认第一页pageSize: 10, //每页的记录行数(*)pageList: [10, 50, 100], //可供选择的每页的行数(*)strictSearch: true,showColumns: false, //是否显示所有的列showRefresh: false, //是否显示刷新按钮minimumCountColumns: 2, //最少允许的列数clickToSelect: true, //是否启用点击选中行//uniqueId: "aac147", //每一行的唯一标识 , 一般为主键列showToggle: false, //是否显示详细视图和列表视图的切换按钮cardView: false, //是否显示详细视图detailView: false, //是否显示父子表queryParams: queryParams, //所需要的参数queryParamsType: "limit", //参数格式,发送标准的RESTFul类型的参数请求columns: myColumns, // 列名这里通过别处方法加载onClickRow: function (row, obj) { //点击事件...},onLoadSuccess: function (data) {...}});function queryParams(params) {//配置参数var temp = {//这里的键的名字和控制器的变量名必须一直 , 这边改动 , 控制器也需要改成一样的pageSize: params.limit,//页面大小pageNumber: (params.offset / params.limit) + 1,//页码};return temp;}1234567891011121314151617181920212223242526272829303132333435363738394041
- 蚕丝被的保养 蚕丝被使用保养全攻略
- 3a香料的使用方法
- 如何延长防晒霜的使用时间
- 绝地求生喷子使用技巧
- 废文网必须注册才能使用吗
- 水粉颜料第一次怎么使用
- 华为手机如何设置使用智慧搜索
- 妆前啫喱使用顺序?
- 手机隐私照片在哪里查看
- 床单被套有使用期限吗
