Vb.net GridView不更新数据表

Vb.net GridView不更新数据表,vb.net,gridview,datatable,dataset,devexpress,Vb.net,Gridview,Datatable,Dataset,Devexpress,我正在使用适用于windows窗体的DevExpress XtraGrid/View。网格的数据源是一个绑定源,它连接到一个数据集。我的问题是,此表适配器不更新datatable。我可以毫无问题地插入新行,但无法更新。没有抛出错误消息;当我保存更改时,行值只是恢复。行中的每一列都会发生这种情况。以下是我保存然后重新加载数据的代码: ' Class variable Private _invoiceDetailsAdapter As dsInvoic

我正在使用适用于windows窗体的DevExpress XtraGrid/View。网格的数据源是一个绑定源,它连接到一个数据集。我的问题是,此表适配器不更新datatable。我可以毫无问题地插入新行,但无法更新。没有抛出错误消息;当我保存更改时,行值只是恢复。行中的每一列都会发生这种情况。以下是我保存然后重新加载数据的代码:

            ' Class variable
            Private _invoiceDetailsAdapter As dsInvoiceDetailsTableAdapters.inv_InvoiceDetailsTableAdapter = New dsInvoiceDetailsTableAdapters.inv_InvoiceDetailsTableAdapter()

            'Save Data
            InvInvoiceLineBindingSource.EndEdit()
            _invoiceDetailsAdapter.Update(DsInvoiceDetails.inv_InvoiceDetails)

            'Load
            DsInvoiceDetails.inv_InvoiceDetails.Clear()
            If Me._invoiceId > 0 Then
                _invoiceDetailsAdapter.Fill(DsInvoiceDetails.inv_InvoiceDetails, _invoiceId)
                InvInvoiceLineBindingSource.Sort = "LineNum"
            End If
我发现它一定是数据集本身,因为我尝试对数据集使用常规DataGridView,但没有效果。我通过向导生成了数据集,必须在Insert&Update的参数中添加ColumnName和SourceColumn属性。就属性而言,插入和更新的参数看起来是相同的

我还尝试创建新的数据集、数据表、绑定源和表适配器。我甚至试过DataAdapter,但没有区别。我花了两周的时间仔细检查属性和调试,试图找到原因


有人能给点建议吗

问题在于DevExpress的XtraGrid功能

XtraGrid不会立即将编辑值保存到链接的数据集。当焦点移动到另一个网格行时,修改后的行通常会过帐到数据对象。您可以通过调用UpdateCrentRow方法以编程方式强制更新。在您的情况下,在通过DB适配器对象更新数据集之前,应该只调用CloseEditor和UpdateCurrentRow方法。

因此,如果用户只更新一行,那么这些更改将毫无用处。请继续阅读代码片段


似乎只有在进行更改后移动到新行时才会更新。如果我不更改行,它不会更新,因此我可以插入。最奇怪的事情,很可能是其他地方的虫子。还在看。如果你有什么我可以试试的,请告诉我。