问题描述
我正在使用dt.Importrow(newRow)将新的数据行添加到数据表中。
但是,如果我对此新行进行了更改,它也会更改所选行。
下面的代码
''' Dim original_Row As DaTarow
Dim newRow As DaTarow = dt.NewRow
original_Row = CType(DataTbale.CurrentRow.DataBoundItem,DaTarowView).Row
newRow = original_Row
newRow(“ Name”)= John'在此处将值更改为新行
dt.ImportRow(newRow)'''
解决方法
我认为您真正想做的是为DataTable
创建新行,从当前选定的行复制数据,修改该数据,然后将该行添加到表中。
首先,您应该通过DataTable
绑定BindingSource
并从中进行选择:
'Get the current row.
Dim currentRow = DirectCast(myBindingSource.Current,DataRowView).Row
'Create a new row.
Dim newRow = myDataTable.NewRow()
'Copy existing data to new row.
newRow.ItemArray = currentRow.ItemArray
'Edit data.
newRow("Name") = "John"
'Add new row to table.
myDataTable.Rows.Add(newRow)