我有一个从Excel电子表格加载的数据表,工作正常。然后我想从表中删除重复项,我也可以完成。接下来我想添加新行,这是整个事情变得不稳定的地方。代码运行并且不返回任何错误。 (我有Try / Catch语句,它们永远不会被触发)。
以下是尝试将新行添加到数据表的代码。
newDRow = dtTemp.NewRow
newDRow("QTY") = Convert.ToInt32(dupList(1))
newDRow("GRATING-ID") = newMarkNum
newDRow("GRATING SPAN DECIMAL INCHES") = Convert.ToDecimal(dupList(2))
newDRow("GRATING WIDTH DECIMAL INCHES") = Convert.ToDecimal(dupList(3))
Try
dtTemp.Rows.Add(newDRow)
Catch ex As Exception
message = HttpUtility.JavaScriptStringEncode(ex.Message)
End Try
数据表称为dtemp。我已经放入断点并且可以验证每个新行列都获得了正确的数据。
原始数据表将传递给此函数,如下所示:
Private Function RemoveDuplicate(ByVal dtInput As DataTable) As DataTable
我有一行将dtInput表复制到dtTemp表,如下所示:
Dim dtTemp As DataTable = dtInput.Copy()
我似乎无法找出为什么行插入不起作用。当函数运行并填充数据网格视图时,我看到删除重复行的结果,但新行不在表中。
有任何想法吗?
更新#1 --------------我在插件应该发生后检查了表内容,但它们没有显示出来。应该有一条线说:
2 | 1121-G31 | 32.875 | 42
并说一句话
H / 1185-Gea'a | 22 | 22
但他们不在那里。
所以我弄清楚我在做什么愚蠢的错误。
我有一个For循环的新数据行语句OUTSIDE,它将新行添加到数据表中。
将它移到for循环中,现在效果很好!