C# DataTable ImportRow 问题
C# DataTable ImportRow issue
我有两个 DataTable
t1
和 t2
。 t1
里面有数据,t2
是新建的,空的table:
//fill `t1`
DataTable t2 = new DataTable();
for (int i = 0; i < t1.Rows.Count; i++)
{
if (t1.Rows[i][6].ToString().ToLower().StartsWith("xyz"))
{
t2.ImportRow(t1.Rows[i]);
}
}
虽然在导入循环后我在 t2
中有 0
列,但上述内容理论上应该有效。
t1 rows 13312 cols 25
t2 rows 3861 cols 0
我应该有相同的 25 列,对吗?
这可能是因为在您的 for
循环之前,t2
只是一个新创建的 DataTable
对象,没有任何行或列。在 for 循环中,您正在导入行而不是获取任何列。
您可以尝试在此声明后立即在 t2
上添加列名称:
DataTable t2 = new DataTable();
可以使用此添加列:
t2.Columns.Add("colName", typeof(Double));
此外,确保列名与 t1
中的列名相同,数据类型也相同。
不确定这是否可行,但您可以试一试。
我有两个 DataTable
t1
和 t2
。 t1
里面有数据,t2
是新建的,空的table:
//fill `t1`
DataTable t2 = new DataTable();
for (int i = 0; i < t1.Rows.Count; i++)
{
if (t1.Rows[i][6].ToString().ToLower().StartsWith("xyz"))
{
t2.ImportRow(t1.Rows[i]);
}
}
虽然在导入循环后我在 t2
中有 0
列,但上述内容理论上应该有效。
t1 rows 13312 cols 25
t2 rows 3861 cols 0
我应该有相同的 25 列,对吗?
这可能是因为在您的 for
循环之前,t2
只是一个新创建的 DataTable
对象,没有任何行或列。在 for 循环中,您正在导入行而不是获取任何列。
您可以尝试在此声明后立即在 t2
上添加列名称:
DataTable t2 = new DataTable();
可以使用此添加列:
t2.Columns.Add("colName", typeof(Double));
此外,确保列名与 t1
中的列名相同,数据类型也相同。
不确定这是否可行,但您可以试一试。