代码如下:
/*****************************************
名称:MergeTableCell
功能:合并表格中特定列中具有相同内容的列单元格(向下合并)
参数:
TheTable:Table的ID(直接传ID即可,不用加其它父限定)
ColumnIndex:从零开始的要合并列的索引
******************************************/
function MergeTableCell(TheTable,ColumnIndex)
{
var RowCount = TheTable.rows.length;
var CurrentRow = null;
var NextRow = null;
var MergeTag = 0;
var StartMergeCell = 0;
var EndMergeCell = 0;
var NextCell = null;
var Iter = 0;
for(var i=0;i<RowCount;i=Iter)
{
MergeTag = 0;
StartMergeCell = 0;
EndMergeCell = 0;
CurrentRow = TheTable.rows(i);
window.alert(CurrentRow.cells(ColumnIndex).innerText);
if ((CurrentRow.cells(ColumnIndex) != null)&&(i != RowCount-1))
{
for(var j=i+1;j<RowCount;j++)
{
NextRow = TheTable.rows(j);
NextCell = NextRow.cells(ColumnIndex);
var strNext = new String();
strNext = NextCell.innerText;
var strCurr =new String();
strCurr = CurrentRow.cells(ColumnIndex).innerText;
if ( strNext != strCurr)
{
break;
}
else
{
if (j==i+1)
{
StartMergeCell = j;
}
EndMergeCell = j;
MergeTag++;
}
}
if (MergeTag != 0)
{
CurrentRow.cells(ColumnIndex).rowSpan = MergeTag + 1;
for(var k=StartMergeCell;k<=EndMergeCell;k++)
{
TheTable.rows(k).deleteCell(ColumnIndex);
}
}
}
Iter = Iter + MergeTag + 1 ;
}
}
很烂的算法,希望大家不要介意!![]()
博客给出一段JavaScript代码,实现了合并表格中特定列相同内容列单元格的功能。该函数名为MergeTableCell,接收表格ID和列索引作为参数,通过循环比较单元格内容,对相同内容的单元格进行合并操作,作者认为此算法较烂。
374

被折叠的 条评论
为什么被折叠?



