系别 专业 班级 实习人数
计算机系 信息管理 01班 5
02班 8
应用技术 01班 5
02 12
合计:30
生科系 生物学研究 01班 4
02班 6
03班 9
化工研究 01班 4
02班 9
合计:32
查询出来是下面这种结果,怎么让其显示成上面的结果
系别 专业 班级 实习人数
计算机系 信息管理 01班 5
计算机系 信息管理 02班 8
计算机系 应用技术 01班 5
计算机系 应用技术 02 12
生科系 生物学研究 01班 4
生科系 生物学研究 02班 6
生科系 生物学研究 03班 9
生科系 化工研究 01班 4
生科系 化工研究 02 9
Sql 查询
计算机系 信息管理 01班 5
02班 8
应用技术 01班 5
02 12
合计:30
生科系 生物学研究 01班 4
02班 6
03班 9
化工研究 01班 4
02班 9
合计:32
查询出来是下面这种结果,怎么让其显示成上面的结果
系别 专业 班级 实习人数
计算机系 信息管理 01班 5
计算机系 信息管理 02班 8
计算机系 应用技术 01班 5
计算机系 应用技术 02 12
生科系 生物学研究 01班 4
生科系 生物学研究 02班 6
生科系 生物学研究 03班 9
生科系 化工研究 01班 4
生科系 化工研究 02 9
Sql 查询
/// 合并相同内容的 列-
/// </summary>
/// <param name="id">列id (需为runat=server的td标签的id)</param>
protected void MergeTD(string id)
{
try
{
for (int i = MainRepeater.Items.Count - 1; i > 0; i--)
{
HtmlTableCell oCell_previous = MainRepeater.Items[i - 1].FindControl(id) as HtmlTableCell;
HtmlTableCell oCell = MainRepeater.Items[i].FindControl(id) as HtmlTableCell; oCell.RowSpan = (oCell.RowSpan == -1) ? 1 : oCell.RowSpan;
oCell_previous.RowSpan = (oCell_previous.RowSpan == -1) ? 1 : oCell_previous.RowSpan; System.Text.StringBuilder strb = new System.Text.StringBuilder(300);
System.IO.StringWriter sw = new System.IO.StringWriter(strb);
System.Web.UI.HtmlTextWriter htw = new HtmlTextWriter(sw);
oCell.RenderControl(htw);
string str1 = strb.ToString().Substring(strb.ToString().IndexOf(">"));
strb.Remove(0, strb.Length);
sw.Flush();
htw.Flush();
oCell_previous.RenderControl(htw);
string str2 = strb.ToString().Substring(strb.ToString().IndexOf(">"));
strb.Remove(0, strb.Length);
sw.Dispose();
htw.Dispose(); if (str1 == str2)
{
oCell.Visible = false;
oCell_previous.RowSpan += oCell.RowSpan;
}
}
}
catch(Exception ex)
{
if(errormsg!=null) errormsg.Text = ex.Message;
}
}