最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

bootstrap Table实现合并相同行

来源:懂视网 责编:小OO 时间:2020-11-27 21:53:29
文档

bootstrap Table实现合并相同行

本文实例为大家分享了bootstrapTable实现合并相同行的具体代码,供大家参考,具体内容如下:方法:调用mergeCells(data.fieldName.target),可以实现合并相同行。
推荐度:
导读本文实例为大家分享了bootstrapTable实现合并相同行的具体代码,供大家参考,具体内容如下:方法:调用mergeCells(data.fieldName.target),可以实现合并相同行。

本文实例为大家分享了bootstrapTable实现合并相同行的具体代码,供大家参考,具体内容如下

方法:调用mergeCells(data, fieldName, target),可以实现合并相同行

 var table = $("#table");
 // 初始化表格
 table.bootstrapTable({
 url: $.fn.bootstrapTable.defaults.extend.index_url,
 pk: 'id',
 sortName: 'update_time',
 search: false,
 toolbar: '#toolbar',
 commonSearch: true,
 pageSize : 12,
 searchFormVisible: true,
 queryParams: function (params) {
 //这里可以追加搜索条件
 var filter = JSON.parse(params.filter);
 var op = JSON.parse(params.op);
 //这里可以动态赋值,比如从URL中获取admin_id的值,filter.admin_id=Fast.api.query('admin_id');
 // filter.admin_id = 1;
 if(filter.is_bujiao=='是')
 filter.is_bujiao=1
 if(filter.is_bujiao=='否')
 filter.is_bujiao=0
 op.username = "like";
 params.filter = JSON.stringify(filter);
 params.op = JSON.stringify(op);
 return params;
 },
 columns: [
 [ 
 {field: 'total_order_id', title: '总订单号',sortable: true,width: "150px",formatter: Table.api.formatter.search}
 ]
 ],
 
 onLoadSuccess: function (data) {
 mergeCells(data, "total_order_id", $("#table"));
 },
 });
 
// 为表格绑定事件
Table.api.bindevent(table);
 /**
 * 合并相同行
 * @param data 原始数据(在服务端完成排序)
 * @param fieldName 合并属性数组
 * @param target 目标表格对象
 */
function mergeCells(data, fieldName, target) {
 setTimeout(function () {
 if (data.rows.length == 0) {
 return;
 }
 var numArr = [];
 var number=0;
 var classzhi='dan';
 if( data.rows.length>1){
 for (let i = 0; i < data.rows.length; i++) {
 if(data.rows[i][fieldName]!='' && data.rows[i][fieldName]!='-'){
 if(data.rows[i-1]){
 if(data.rows[i-1][fieldName]!='' && data.rows[i-1][fieldName]!='-'){
 if(data.rows[i-1][fieldName]==data.rows[i][fieldName]){
 number++
 }
 else{
 number=number+1
 numArr.push({index:i-number,number:number,pan:'1'})
 number=0
 }
 }
 }
 if(!data.rows[i+1]){
 number=number
 numArr.push({index:i-number,number:number+1,pan:'2'})
 number=0
 }else{
 if(data.rows[i+1][fieldName]=='' || data.rows[i+1][fieldName]=='-'){
 number=number
 numArr.push({index:i-number,number:number+1,pan:'3'})
 number=0
 }
 }
 }else{
 numArr.push({index:i,number:1,pan:'4'})
 }
 }
 }else{
 numArr.push({index:0,number:1,pan:'5'})
 }
 // console.log(numArr);
 for (let x = 0; x < numArr.length; x++) {
 if(x%2){
 for(let y=0;y<numArr[x]['number'];y++){
 $(target).children('tbody').children('tr').eq(numArr[x]['index']+y).css('background','#ccc')
 }
 }else{
 for(let y=0;y<numArr[x]['number'];y++){
 $(target).children('tbody').children('tr').eq(numArr[x]['index']+y).css('background','#FFF')
 }
 }
 $(target).bootstrapTable('mergeCells', { index: numArr[x]['index'], field: fieldName, colspan: 1, rowspan: numArr[x]['number']});
 }
 },0)
}

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文档

bootstrap Table实现合并相同行

本文实例为大家分享了bootstrapTable实现合并相同行的具体代码,供大家参考,具体内容如下:方法:调用mergeCells(data.fieldName.target),可以实现合并相同行。
推荐度:
标签: 表格 实现 合并
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top