在开发过程中,有时会在列表中合并掉相同的行,比如第一列的第一行和第二行相同,就将第一列的第一行和第二行合并掉,其余列保持原样,我们可以在
在repeater的preRender事件中:
for (int i = Rep.Items.Count - 1; i > 0; i--)
{
HtmlTableCell oCell_previous = Rep.Items[i - 1].FindControl("id") as HtmlTableCell;
HtmlTableCell oCell = Rep.Items[i].FindControl("id") as HtmlTableCell;
if (oCell_previous != null && oCell != null)
{
oCell.RowSpan = (oCell.RowSpan == -1) ? 1 : oCell.RowSpan;
oCell_previous.RowSpan = (oCell_previous.RowSpan == -1) ? 1 : oCell_previous.RowSpan;
if (oCell.InnerText == oCell_previous.InnerText)
{
oCell.Visible = false;
oCell_previous.RowSpan += oCell.RowSpan;
}
}
}
其中 id为前台要合并<td></td>的id