asp.net Repeater 单元格合并
<table class="resultTable" cellspacing="1" id="tableContentGeneral">
<tr class="resultTr">
<td width="50">
届
</td>
<td width="80">
区域
</td>
<td width="100">
离职人数
</td>
<td width="70">
在职人数
</td>
<td width="100">
总计
</td>
<td width="100">
累计离职率
</td>
</tr>
<asp:Repeater ID="RptGeneral" runat="server" OnPreRender="RptGeneral_PreRender" >
<ItemTemplate>
<tr>
<td id="tdClassName" runat="server">
<%#Eval("ClassName")%>
</td>
<td>
<%#Eval("AgnName")%>
</td>
<td>
<%#Eval("TurnoverQty")%>
</td>
<td>
<%#Eval("ServiceQty")%>
</td>
<td>
<%#Eval("TotalQty")%>
</td>
<td>
<%#Eval("CumulativeTurnoverRate")%>
</td>
</tr>
</ItemTemplate>
</asp:Repeater>
</table>
//-==========================================================================================================================
protected void RptGeneral_PreRender(object sender, EventArgs e)
{
for (int i = RptGeneral.Items.Count - 1; i > 0; i--)
{
HtmlTableCell oCell_previous = RptGeneral.Items[i - 1].FindControl("tdClassName") as HtmlTableCell;
HtmlTableCell oCell = RptGeneral.Items[i].FindControl("tdClassName") 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;
}
}
}
}

浙公网安备 33010602011771号