最近有用户提出“实现合并相同内容连续单元格”的需求,例如:如果一列中的连续单元格拥有相同的值,即合并为一个单元格进行显示。本篇文章将阐述如何使用 Cell 客户端属性 rowSpan 和 colSpan 来实现这个功能。
下面这个例子主要是通过循环某列中的所有行,按照相邻单元格的值进行分组。
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>
效果图:
Demo 下载
C# 示例: 点击下载
VB.NET 示例: 点击下载