/// <summary>
/// 合并ListView列中相同的行
/// </summary>
/// <param name="lstView">ListView</param>
/// <param name="mergeTDID">Merge TD control ID(table中要合并的tr)</param>
/// <param name="valueControlId">Compare value control ID(值相同能的tr合并)</param>
public static void GroupRows(ListView lstView, string mergeTDID, string valueControlId)
{
int i = 0, rowSpanNum = 1;
while (i < lstView.Items.Count - 1)
{
ListViewDataItem lvItem = lstView.Items[i];
for (++i; i < lstView.Items.Count; i++)
{
ListViewDataItem lvNextItem = lstView.Items[i];
HtmlTableCell trCell = lvItem.FindControl(mergeTDID) as HtmlTableCell;
Label lblControl = lvItem.FindControl(valueControlId) as Label;
HtmlTableCell trNextCell = lvNextItem.FindControl(mergeTDID) as HtmlTableCell;
Label lblNextControl = lvNextItem.FindControl(valueControlId) as Label;
if (string.Equals(lblControl.Text,lblNextControl.Text))
{
//gvrNext.Cells[cellNum].Visible = false;
trNextCell.Style.Add(HtmlTextWriterStyle.Display, "none");
rowSpanNum++;
}
else
{
trCell.RowSpan = rowSpanNum;
rowSpanNum = 1;
break;
}
if (i == lstView.Items.Count - 1)
{
trCell.RowSpan = rowSpanNum;
}
}
}
}