2014-12-07 63 views
-2

我在dataTable中有一条记录,如下所示。使用C#根据列的值在DataTable中复制记录

1 Test 7Dec2014 15:40 one,two,three 

由于最后一列有3个逗号分隔值,将所得DataTable应低于想用复制的记录。

1 Test 7Dec2014 15:40 one 
2 Test 7Dec2014 15:40 two 
3 Test 7Dec2014 15:40 three 

请帮助我一个优化的方式来实现上述结果。

回答

0

我发现上述问题的优化方式如下。如果有人有更好的解决方案,请让我知道。

string[] strValues; 
    for (int i = 0; i < dtTable.Rows.Count; i++) 
    { 
     strValues= dtTable.Rows[i]["Column_Name"].ToString().Split(','); 
     if (strValues.Length > 1) 
     { 
      dtTable.Rows[i]["Column_Name"] = strValues[0]; 
      for (int j = 1; j < strValues.Length; j++) 
      { 
       var TargetRow = dtTable.NewRow(); 
       var OriginalRow = dtTable.Rows[i]; 
       TargetRow.ItemArray = OriginalRow.ItemArray.Clone() as object[]; 
       TargetRow["Column_Name"] = strValues[j]; 
       dtTable.Rows.Add(TargetRow); 
      } 
     } 
    }