Vb.net GridView不更新数据表
我正在使用适用于windows窗体的DevExpress XtraGrid/View。网格的数据源是一个绑定源,它连接到一个数据集。我的问题是,此表适配器不更新datatable。我可以毫无问题地插入新行,但无法更新。没有抛出错误消息;当我保存更改时,行值只是恢复。行中的每一列都会发生这种情况。以下是我保存然后重新加载数据的代码: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
' 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方法。
因此,如果用户只更新一行,那么这些更改将毫无用处。请继续阅读代码片段
似乎只有在进行更改后移动到新行时才会更新。如果我不更改行,它不会更新,因此我可以插入。最奇怪的事情,很可能是其他地方的虫子。还在看。如果你有什么我可以试试的,请告诉我。