2014-12-07 45 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); 
      } 
     } 
    }