一段程序的实现
group_number synch_Experimentguid course_name
0 4 语文1
0 3 计算机
0 1 物理
1 3 计算机
1 4 语文1
2 3 计算机
2 1 物理
3 3 计算机
4 1 物理
5 4 语文1
需要如下结果
group_number synch_Experimentguid course_name
0 4,3,1 语文1 ,计算机,物理
1 3,4 计算机,语文1
2 3,1 计算机,物理
3 3 计算机
4 1 物理
5 4 语文1
谢谢大家帮助
上面的是dt1
生成dt2
group_number 是int
synch_Experimentguid 和 course_name 是string
------解决方案--------------------Hashtable ht = new Hashtable();
int count = dt.Rows.Count;
DataTable result = dt.Clone();
for(int i = 0 ; i < count;i++)
{
DataRow row = dt.Rows[i];
if (!ht.Contains(row[ "group_number "].ToString()))
{
DataRow temp = result.NewRow();
temp[ "group_number "] = row[ "group_number "];
temp[ "synch_Experimentguid "] = " ";
temp[ "course_name "] = " ";
result.Rows.Add(temp);
ht.Add(row[ "group_number "].ToString(),temp);
}
DataRow r = (DataRow)ht[row[ "group_number "].ToString()];
if (r[ "synch_Experimentguid "].ToString().Length > 0)
{
r[ "synch_Experimentguid "] = r[ "synch_Experimentguid "].ToString() + ", " + row[ "synch_Experimentguid "];
}
else
{
r[ "synch_Experimentguid "] = row[ "synch_Experimentguid "];
}
//course_name跟synch_Experimentguid一样
}