2015-06-26 76 views
1

我創建了一個WinForm,它從另一個應用程序獲取數據並將其保存在數據庫中。我使用了BindingNavigator(我將數據集表拖動到表單上,並獲得了一個導航器,綁定源以及更多)來顯示和導航記錄。BindingNavigator不會顯示新添加的記錄

當記錄添加到數據集/表時,BindingNavigator不會立即使用新信息自行更新。這就像沒有添加任何東西。

我必須點擊BindingNavigator的next項目,previous項目或類似的東西,所以它會刷新自己並顯示正確的項目數。

有人能告訴我如何以編程方式告訴BindingNavigator顯示更新的值嗎?

我已經嘗試了很多東西,但沒有任何工作。

編輯

我想通了什麼事情錯了。我正在運行與表單不同的線程。爲我工作 代碼:

this.tableAdapterManager.PieceTableAdapter.Insert(ints[4], ints[2], ints[6], ints[8], ints[10], ints[12], ints[14]); 

this.tableAdapterManager.UpdateAll(this.slicerTestDBDataSet); 
this.pieceBindingNavigator.Invoke(new Action(() => this.pieceTableAdapter.Fill(this.slicerTestDBDataSet.Piece))); 

早些時候,我沒有使用調用來調用主線程,因此沒有正常工作。

+0

你可以分享你迄今爲止所嘗試過的嗎?你寫的任何代碼? – MeanGreen

回答

0

要做的第一件事是檢查更新和insert語句在tableadapter的命令文本中。
enter image description here
單擊設計視圖中的tableadapter(如果數據集並查看屬性)。在屬性中,您將看到更新並在左側​​插入帶有+的部分。展開此以查看命令文本。
enter image description here
如果它是空的,則返回到表適配器的右鍵單擊並選擇配置。然後查看查詢設計器並確保您要更新的表中的所有內容都被檢查。然後完成嚮導並返回並確保該向導創建了插入和更新語句。

我發現有時一個文本框會接受更新,而其他的則不會。我通過刪除文本框並添加了一個我將重新綁定的新文本框來解決此問題。

相關問題