首页 > 其他分享 >jsp中display:table根据某列合并其他列

jsp中display:table根据某列合并其他列

时间:2023-04-23 13:22:37浏览次数:37  
标签:某列 title mergeIndexs jsp var table row tb first

业务需求是这样的:根据前面的列合并后面的列

 代码:

<body onl oad="fixRowspan()">
    <display:table name="dataList" id="tableList" cellspacing="0" cellpadding="0" requestURI="/x/xx_xxx.action"  >
    <display:column media="html" title="<input type='checkbox' class='chk' name='selChkbox' >" style="width:40px"/>
    <display:column property="invoiceNo"  title="比较的列" style="color:red"/>
    <display:column property="weight"  title="不重要的列1"/>
    <display:column property="makeHours"  title="不重要的列2"/>
    <display:column property="factMoney" title="合并列1"/>    
    <display:column media="html" title="合并列2" style="width:6%">       <s:if test='%{#attr.bid != ""}'>         <s:a ><s:property value="#i18n_print"/></s:a>       </s:if>     </display:column> </display:table> </body>

js代码:

<script>
  function fixRowspan() {
    var tb = document.getElementById("tableList");
    var contrastIndex = 1;//对比的列序号
    var mergeIndexs = [4,5];//需要合并的列序号,注意:序号必须按从小到大放置       @1
    var row_span_num = 1;
    var first_row_title = "";
    var first_row_obj_list = [];
    for ( var i = 1; i < tb.rows.length; i++) {
      var first_new_row_title = tb.rows[i].cells[contrastIndex].innerHTML;
      if (first_row_title != "" && first_row_title == first_new_row_title) {
        for(var j = 0; j < mergeIndexs.length; j++){
          tb.rows[i].deleteCell(mergeIndexs[j] - j);//删除              @2
        }
        row_span_num++;
      } else {
        if (first_row_title != "") {
          for(var j = 0; j < mergeIndexs.length; j++){
            first_row_obj_list[j].setAttribute("rowSpan", row_span_num);
          }
          row_span_num = 1;
        }
        for(var j = 0; j < mergeIndexs.length; j++){
          first_row_obj_list[j] = tb.rows[i].cells[mergeIndexs[j]];
        }
        first_row_title = first_new_row_title;
      }
    }
  }
</script>

要注意的点:

在删除多余的cell时,因为row中的cell是按照下标来的,如果删除一个cell,那么后面的cell的下标就会向前移,所以在@2时需要实时把下标 - j ,而@1处则必须按顺序放,这样才不会出现错乱的情况;

当然,我们也可以按从大到小排,这样在@2处就不需要 - j 了

标签:某列,title,mergeIndexs,jsp,var,table,row,tb,first
From: https://www.cnblogs.com/wdk2020/p/17346119.html

相关文章

  • Adobe Photoshop 2023(MAC+Windows) +AI插件auto Photoshop stable diffusion plugin
    Adobe图像处理软件Photoshop2023正式版(24.1.1)2023年01月版发布。AdobePhotoshop2023破解版(简称PS)是一款全球流行的专业图像处理软件及照片和设计软件。AdobePhotoshop中文破解版是AdobeCreativeCloud创意云桌面程序中心的图形设计软件热门产品,它是平面设计领域和数......
  • JSP程序设计_全程_老师笔记
    ​2.21笔记 一、网页的组成元素      网页一般是由内容、样式和布局、动效三部分组成的。            内容(HTML)主要指的是页面的文字、按钮button、图片img、视频video、音频audio等等            样式和布局(CSS)指的是内容的大小、颜......
  • sql语法错误[1093] You can't specify target table 'score' for update in FROM clau
    不能在同一张表中将查询非结果集作为更新条件执行将需要的结果集外层套一层自查询如updateaseta.num=a.num+1wherea.namein(selecta.agefromawherexx=xxx);报错[1093]Youcan'tspecifytargettable'score'forupdateinFROMclauseupdateaseta......
  • 阿里云 AIGC 白嫖 FC 搭建 stable diffusion
    下午瞎逛在V站看到阿里在做推广,正好这几天在研究stable-diffusion,就进去看了看,活动地址:https://developer.aliyun.com/topic/aigc。主要就是阿里云的FC免费提供3个月的试用(注意,只有150元额度,所以重度使用可能一会就玩没了),可以快速搭建AiGC服务。安装注意阿里云官......
  • lua变量、数据类型、if判断条件和数据结构table以及【lua 函数】
    一、lua变量【全局变量和局部变量和表中的域】Lua变量有三种类型:全局变量和局部变量和表中的域。▪全局变量:默认情况下,Lua中所有的变量都是全局变量。▪局部变量:使用local显式声明在函数内的变量,以及函数的参数,都是局部变量。在函数外即使用local去声明,它的作用域也是当前的整......
  • JSP的缺点
    JSP的缺点1.书写麻烦,特别是复杂的页面。2.因为JSP里面有java代码和其他的代码,所以阅读麻烦。3.因为前端代码和java代码都放在一起,所以会造成前端人员不会java,而后端人员又不精通HTML。**JSP现在逐步被=HTML+AJAX代替**最先使用Servelet写,然后又用JSP,再然后用Servele......
  • JSP简介
    1.什么是JSPJSP部署于网络服务器上,可以响应客户端发送的请求,并根据请求内容动态地生成HTML、XML或其他格式文档的Web网页,然后返回给请求者。JSP技术以Java语言作为脚本语言,为用户的HTTP请求提供服务,并能与服务器上的其它Java程序共同处理复杂的业务需求。2.JSP的特点能以模板化......
  • Bootstrap Table表格中存放下拉框,读取数据填充到下拉框
    初学Bootstarp,个人感觉一个功能非常强大的前端框架,由于学习的路途也不是一番风顺的,难免会遇到问题,将遇到的问题整理,可以时常看看,加深记忆。最近做表格需要在表格中加入<select>标签,将数据填充到下拉框,无奈搞了好几个小时也没有成功,最后经过请教身边的大佬,得以解决。代码如下:htt......
  • springboot+bootstraptable
    springboot+bootstraptable项目采用的是springboot+bootstraptable搭建的demo  https://blog.csdn.net/weixin_43373818/article/details/114714016基础的增删改查已经实现html页面<!DOCTYPEhtml><htmllang="zh-CN"xmlns:th="http://www.thymeleaf.org"><......
  • bootstraptable单元格可输入(输入框,下拉框)
    https://blog.csdn.net/weixin_45742032/article/details/105145655bootstraptable单元格可输入效果图效果图一(单元格中加入下拉框,这里的数据是从数据库取的) <tableid="payment_detail_table"></table>js内容vartemplateTableParams={classes:"tabletable......