重置一下_Sortkey列,然后重新测试
DataTable有一个BaseTable属性,返回底层的System.Data.DataTable对象 。
DataRow有一个BaseRow属性,返回底层的System.Data.Row对象。
我们知道,通过常规的代码, 我们是没有办法修改_Identify?_SortKey等系统列的内容.
但是通过上面两个属性,我们直接修改系统列的内容.
例如某个表启用了插入行的功能,如果在某位置插入了太多的行,最后该位置可能再也无法正常插入行,我们可以用下面的代码,重置_SortKey列的内容:
Dim drs As List(of DataRow) = DataTables("表A").Select("","[_SortKey]")
For i As Integer = 0 To drs.Count - 1
drs(i).BaseRow("_SortKey") = i
Next
执行上述代码后,插入行的功能即可恢复正常.