Dataset实现在指定位置插入新行,并用DataGrid显示
对于这个问题,一开始,我直接用InsertAt(row,n) 结果发现,DataGrid显示插入到最后了。后来在网上查了半天,才知道,原来DataGrid和Dataset绑定后,Dataset索引不接受修改。加一句 Dataset.Tables("table").AcceptChanges() 问题就解决了。
下面给出在指定位置加一行的例子:(我写在一个类中了)
Public Sub addrow()
Dim n As Integer
n = Form1.DataGrid1.CurrentRowIndex()
Dim row As DataRow
row = mydata.Tables("table").NewRow()
mydata.Tables("table").Rows.InsertAt(row, n)
mydata.Tables("table").AcceptChanges()
Form1.DataGrid1.CurrentRowIndex = n + 1 //
End Sub