我的DataGridView
綁定到BindingSource
,它再次具有DataSet
作爲其DataSource
。除其他外,DataSet
中的相應TableAdapter
具有從Access數據庫提供數據的Fill
方法。我填補我DataGridView
數據如下圖所示:DataGridView在更新後顯示第一行中的一些空單元格
myTableAdapter.Fill(myDataSet.MyDataTable);
所有這一切工作正常,並符合市場預期。當我使用UpdateQuery
(也可以正常工作)更改我的數據,然後再次單擊我的DataGridView
中的任意行時,出現問題 - 只要我點擊,(總是)第一行的最後兩個單元格爲顯示爲空。無論我點擊哪一行,始終是第一行中的單元格,並且僅在執行UpdateQuery
之後。
當我直接檢查Access數據庫時,一切正常(即更新成功)。當我重新啓動我的應用程序時,一切都顯示出來沒有任何問題(直到下一次我撥打UpdateQuery
並點擊進入我的DataGridView
)。
我也打過電話EndEdit()``and
刷新on the
的DataGridView and calling
的AcceptChanges()on both the
數據集and the respective
DataTable` - 什麼都沒有改變。
更新
所描述的行爲只毫無問題執行UpdateQuery
,Insert
S和Delete
工作之後發生(數據被正確地更新的,無顯示的問題)。
更新2
當我使用不同的事件處理程序的問題也存在 - 原來我用CellClick
,我也用CellContentClick
和CellMouseClick
嘗試。它甚至發生在我完全不使用鼠標的情況下,但使用鍵盤在DataGridView
內導航。
這似乎是「我的」數據顯示不起作用的情況,我錯過了什麼?無論我查詢/更新數據有多簡單或複雜,我在表格中使用的所有DataGridView
都會發生同樣的錯誤。
嘗試設置BindigSource.AllowNew = false – daniele3004 2014-11-04 15:46:20
@ daniele3004 - 嘗試過,沒有工作(如預期的 - 爲什麼這應該有所作爲?)。 – Gorgsenegger 2014-11-05 10:29:16
我使用BindingSource加載一個List或Array。在我的情況下,它的作品。 – daniele3004 2014-11-05 10:47:32