C# 拆分数据表
我有下表数据表C# 拆分数据表,c#,.net,C#,.net,我有下表数据表 Name classhours Coursename ====================================== Tom 2 A Jack 2 B Joe 2 C stella 3 D Jose 3 E 我需要
Name classhours Coursename
======================================
Tom 2 A
Jack 2 B
Joe 2 C
stella 3 D
Jose 3 E
我需要将表中的行合并到具有相同学时的行中,并将学时相加
表B
Name classhours Coursename
===============================================
Tom,Jack,Joe 6 A,B,C
Stella,Jose 6 D,E
现在我需要进一步拆分它。。在课程名称列中,我最多可以有2门课程。。所以我需要把表B分解成下表
Name classhours Coursename
===============================================
Tom,Jack 4 A,B
Joe 2 C
Stella,Jose 6 D,E
我们如何进一步拆分它以检查CourseName的计数不超过2?
如果你需要进一步解释,请告诉我。检查代码的附件
请帮忙
这是密码
for (int i = 0; i < dataTable.Rows.Count; i++)
{
for (int j = i + 1; j < dataTable.Rows.Count; j++)
{
if(datatable.Rows[i]["classhours"].ToString() == datatable.Rows[j]["classhours"].ToString())
{
//Adding the second row and third row to the first row and deleting the second and third row.
}
}
}
for(int i=0;i
嗯,看起来你只需要一点小小的改变
for (int i = 0; i < dt.Rows.Count; i++)
{
bool notCombined = true;
int target = dt.Rows[i]["hours"];
for (int j = i + 1; j < dt.Rows.Count && notCombined; j++)
{
if(target == dt.Rows[j]["hours"].ToString())
{
dt.Rows[i]["name"] += "," + dt.Rows[j]["Name"];
dt.Rows[i]["hours"] += target;
dt.Rows[i]["course"] += "," + dt.Rows[j]["course];
dt.Rows[j].Delete();
notCombined = false;
}
}
看来你只需要一点零钱
for (int i = 0; i < dt.Rows.Count; i++)
{
bool notCombined = true;
int target = dt.Rows[i]["hours"];
for (int j = i + 1; j < dt.Rows.Count && notCombined; j++)
{
if(target == dt.Rows[j]["hours"].ToString())
{
dt.Rows[i]["name"] += "," + dt.Rows[j]["Name"];
dt.Rows[i]["hours"] += target;
dt.Rows[i]["course"] += "," + dt.Rows[j]["course];
dt.Rows[j].Delete();
notCombined = false;
}
}