Spread for ASP.NET 表格控件:使用 JavaScript 实现单元格合并

发布时间:2013/11/21 00:11 发布者:iceman

返回博客中心

最近有用户提出“实现合并相同内容连续单元格”的需求,例如:如果一列中的连续单元格拥有相同的值,即合并为一个单元格进行显示。本篇文章将阐述如何使用 Cell 客户端属性 rowSpancolSpan 来实现这个功能。

下面这个例子主要是通过循环某列中的所有行,按照相邻单元格的值进行分组。

  1: <script type="text/javascript">
  2:      function Button2_onclick()
  3:      {
  4:         var spread = document.getElementById("FpSpread1");
  5:         var rc = spread.GetTotalRowCount();
  6:         var r = 0;
  7:         while (r != rc - 1)
  8:         {
  9:             r1 = r;
 10:             var inc = 0;
 11:             while (r1 != -1)
 12:             {
 13:                var val1 = spread.GetValue(r1, 1);
 14:                var val2 = spread.GetValue(r1 + 1, 1);
 15:                if (val1 == val2)
 16:                {
 17:                   inc++;
 18:                   r1++;
 19:                }
 20:                else
 21:                {
 22:                   var cell = spread.GetCellByRowCol(r, 1);
 23:                   cell.rowSpan = inc + 1;
 24:                   r = r1 + 1;
 25:                   r1 = -1;
 26:                 }
 27:              }
 28:         }
 29:      alert('Cells with same values merged');
 30:   }
 31: </script>

 

效果图:

FOutput

Demo 下载

C# 示例: 点击下载

 

VB.NET 示例: 点击下载


关于葡萄城

赋能开发者!葡萄城是专业的集开发工具、商业智能解决方案、低代码开发平台于一身的软件和服务提供商,为超过 75% 的全球财富 500 强企业提供服务。葡萄城专注控件软件领域30年,希望通过模块化的开发控件、灵活的低代码应用开发平台等一系列开发工具、解决方案和服务,帮助开发者快速响应复杂多变的业务需求,最大程度地发挥开发者的才智和潜能,让开发者的 IT 人生更从容更美好。

了解详情,请访问葡萄城官网