Hi NareshG,
Thanks for the answer. So there is not quick way for doing this transformation. I finally wrote the below routine.
private DataTable TransformColumn(DataTable dtOriginal)
{
int counter = 0;
string deleteIdentifier = "!ToBeDeleted";
DataTable dtTransform = dtOriginal.Copy();
foreach (DataRow dr in dtTransform.Rows)
{
StringBuilder member= new StringBuilder();
foreach (DataRow dr2 in dtTransform.Rows)
{
if (dr["department"].ToString() == dr2["department"].ToString() && dr["team"].ToString() == dr2["team"].ToString())
{
if (dr["member"].ToString() != dr2["member"].ToString())
{
if (!dr2["member"].ToString().Contains(deleteIdentifier) && !dr["member"].ToString().Contains(deleteIdentifier))
{
accessRight.Append(",").Append(dr2["member"]);
dr2["member"] = deleteIdentifier + counter.ToString();
counter = counter + 1;
}
}
}
}
dr["member"] = dr["member"].ToString() + member.ToString();
}
for (int i = dtTransform.Rows.Count - 1; i >= 0; i--)
{
DataRow dr = dtTransform.Rows[i];
if (dr["member"].ToString().Contains("member"))
{
dtTransform.Rows.Remove(dr);
}
}
return dtTransform;
}