DataTable.Clear() 方法影响分离行
DataTable.Clear() method affect detached row
我正在尝试做这样的事情来创建类型化数据行的副本:
var desRow = dataTable.NewRow();
var sourceRow = dataTable.Rows[rowNum];
desRow.ItemArray = sourceRow.ItemArray.Clone() as object[];
但是当我调用 dataTable.Clear()
方法时,它会清除 desRow 中的所有字段。如何创建 DataRow
?
的深拷贝
在您的代码中,当您创建新行时,您会使用该行创建对 dataTable 的引用,这就是它清除所有字段的原因。
您可以使用数据 table 克隆,这样您将拥有深拷贝。
DataTable dt = ...
DataTable cloneDt = dt.Clone();
DataRow row = cloneDt.Rows[number];
dt.Rows.Clear();
dt.Rows.Add(row);
这样您的原始数据 table 将只包含选定的行。
我正在尝试做这样的事情来创建类型化数据行的副本:
var desRow = dataTable.NewRow();
var sourceRow = dataTable.Rows[rowNum];
desRow.ItemArray = sourceRow.ItemArray.Clone() as object[];
但是当我调用 dataTable.Clear()
方法时,它会清除 desRow 中的所有字段。如何创建 DataRow
?
在您的代码中,当您创建新行时,您会使用该行创建对 dataTable 的引用,这就是它清除所有字段的原因。
您可以使用数据 table 克隆,这样您将拥有深拷贝。
DataTable dt = ...
DataTable cloneDt = dt.Clone();
DataRow row = cloneDt.Rows[number];
dt.Rows.Clear();
dt.Rows.Add(row);
这样您的原始数据 table 将只包含选定的行。