bootstrapTable 内容过长处理

本文介绍了如何使用BootstrapTable控制表格中'params'列内容过长的两种方法:1) 字符串长度截取并保持多行展示,2) CSS宽度限制实现单行展示。讨论了各自优缺点,并展示了实际效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

控制 bootstrapTable 内容过长处理,有两种方式

  • 字符串长度截取
  • CSS 宽度限制

只看代码 。

1、伪代码

function load() {
    $('#div1').bootstrapTable({
          method: 'get',
          url: prefix + "/list",         
          columns: [              
              {
                  field: 'id', // 列字段名
                  title: '序号', // 列标题
                  width: 80,
              },
             //....
              {
                  field: 'params',
                  title: '参数',
                  width: 350,
                 // cellStyle: bootstrapTableFieldCellStyle(250,350) ,  // 方法3
                  formatter: function(value, row, index) {
                  	  var showStrNum = 80 ;									
					  return bootstrapTableFieldSubstr(value, row, index, showStrNum );  // 方法1
				  }
              },            
             //....
          }]
     });
}

 // 方法1、长度截取
/*
 * 判断备注内容是否长度过长,先截取后,再加上省略号。
 */
function bootstrapTableFieldSubstr(value, row, index, showStrNum) {
  
    value = $.trim(value);
    if ( value == "" ) {
    	return "";
    }
    //自定义单元格内容
    var span = document.createElement('span');
    //写入面板标题
    span.setAttribute('title', value);
    span.setAttribute('style', "word-wrap: break-word;word-break: break-all;");
    
    span.innerHTML =value;
    if(value.length > showStrNum){
        span.innerHTML = value.substring(0,(showStrNum-1))+"...";
    }
   
    //将面板返回至单元格展示
    return span.outerHTML;
}

// 方法2、 与方法1的区别是,截掉前面的字符,保留后面的字符
function bootstrapTableFieldSubStart(value, row, index, showStrNum) {
	 //判断备注内容是否为空,为空则设置为空字符
	 if (value == null || value == '') {
		 value = "";
	 }
	 //自定义单元格内容
	 var span = document.createElement('span');
	 //写入面板标题
	 span.setAttribute('title', value);
	 span.setAttribute('style', "word-wrap: break-word;word-break: break-all;");

	 span.innerHTML =value;
	 if(value.length > showStrNum){
		 span.innerHTML = "..."+ value.substring((value.length-showStrNum));
	 }

	 //将面板返回至单元格展示
	 return span.outerHTML;
 }

// 方法3、 Css 宽度限制
function bootstrapTableFieldCellStyle(minWidth, maxWidth) {
    return {
        css: {
            "min-width": (minWidth ||"100")+"px" ,
			"max-width": (maxWidth ||"250")+"px" ,
            "white-space": "nowrap" ,
            "text-overflow": "ellipsis" ,
            "overflow": "hidden" ,            
        }
    };
}

2、优缺点:

  • 字符串长度截取:字符串可以显示多行;相同的长度,汉字和字母的宽度是不一样的,显示不整齐。(见下面截图)
  • CSS 宽度限制 : 字符串只能显示一行;相同的宽度,汉字数量少,字母数量多,更整齐。

3、效果

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值