使用 C# 基于列的值复制数据表中的记录
本文关键字:数据表 记录 复制 于列 使用 | 更新日期: 2023-09-27 18:33:20
>我在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
请帮助我以优化的方式实现上述结果。
我发现针对上述问题的优化方法如下。如果有人有更好的解决方案,请告诉我。
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);
}
}
}