qq_40689507 2019-05-26 22:35 采纳率: 0%
浏览 765

想问大佬,bootstraptable统计列值的时候没有显示在页面上怎么回事啊?

function reload() {
let $table = $('#db_dependences');
$('#db_dependences').bootstrapTable({
method:'POST',
dataType:'json',
contentType: "application/x-www-form-urlencoded",
cache: false,
striped: true, //是否显示行间隔色
sidePagination: "client", //分页方式:client客户端分页,server服务端分页(*)
showColumns:true,
pagination:true,
minimumCountColumns:2,
pageNumber:1, //初始化加载第一页,默认第一页
pageSize: 20, //每页的记录行数(*)
pageList: [10, 25, 50, 100], //可供选择的每页的行数(*)
uniqueId: 'id', //每一行的唯一标识,一般为主键列
showExport: true,
showFooter:true,
exportDataType: 'all',
exportTypes:[ 'txt', 'doc', 'excel', 'xlsx', 'pdf'], //导出文件类型
columns: [{
field: 'id',
title: '序号',
align: 'center',
edit:false,formatter:function(value, row, index){
return row.index=index ; //返回行号
},
visible: true,
footerFormatter: function(){
return "当前总分:";
}
}, {
field: 'type',
title: '题型',
align: 'center',
sortable:true
},{
field: 'content',
align: 'center',
title: '内容'
},
{
field: 'level',
title: '难度',
align: 'center'
},
{
field: 'value',
title: '分值',
align: 'center',
formatter:function(value,row,index){
return row.value;
},
//计算此列的值
footerFormatter:function(rows){
var sum=0;
for(var i=0;i sum=sum+parseInt(rows[i].value);
}
console.log("sum="+sum);
return sum+"分";
}
},
{
title: "操作",
align: 'center',
valign: 'middle',
width: 160, // 定义列的宽度,单位为像素px
formatter: function (value, row, index) { //传入数据
return '查看 移除';
}
}],
onPostBody:function(){
//合并页脚
merge_footer();
},
data: result,
onClickCell: function(field, value, row, $element) {
$element.attr('contenteditable', true);
$element.blur(function() {
let index = $element.parent().data('index');
let tdValue = $element.html();
saveData(index, field, tdValue);
})
},
onExpandRow: function (index, row, $detail) {
detailview(index, row, $detail)
}
});
//合并页脚
function merge_footer(){
//获取table表中footer 并获取到这一行的所有列
var footer_tbody = $('.fixed-table-footer table tbody');
var footer_tr = footer_tbody.find('>tr');
var footer_td = footer_tr.find('>td');
var footer_td_1 = footer_td.eq(0);
//由于我们这里做统计只需要两列,故可以将除第一列与最后一列的列全部隐藏,然后再设置第一列跨列
//遍历隐藏中间的列 下标从1开始
for(var i=1;i<footer_td.length-1;i++) {
footer_td.eq(i).hide();
}
//设置跨列
footer_td_1.attr('colspan', footer_td.length-1).show();
//这里可以根据自己的表格来设置列的宽度 使对齐
footer_td_1.attr('width', "910px").show();
}

  • 写回答

1条回答 默认 最新

  • 小杰911 2023-06-14 09:39
    关注

    可能是因为没有调用合并页脚的函数,导致统计的值没有显示在页面上。请在代码中调用merge_footer()函数,例如在bootstrapTable的onPostBody事件中调用,如下:

    onPostBody: function() {
      merge_footer();
    }
    
    评论

报告相同问题?

悬赏问题

  • ¥15 高德地图点聚合中Marker的位置无法实时更新
  • ¥15 DIFY API Endpoint 问题。
  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办