我正在使用TADOConn和TADODataSet單位拉取數據並連接到TDataSources和TDBGrids。我有我的DBGrids正確顯示信息和詳細信息視圖中的編輯信息準確地反映在後備數據庫中。在更新Delphi中的單元格時更新Master-Detail視圖中的DBGrids
我想要做的就是讓細節DBGrid中的字段的更新導致兩個數據集上的刷新,以便始終顯示最新的數據。
我曾嘗試在不同級別的數據庫訪問中的幾個事件處理程序中進行刷新調用,但它們似乎都有類似(但不同)的再入問題。
到目前爲止,我已經能夠提出的最好方法是通過調用刷新細節DBGrid.onColExit事件來更新主視圖。
如果我將更新呼叫全部保留在一起,直到下次運行應用程序纔會顯示更新的信息。
任何想法如何實現這一目標?我爲什麼錯了?提前致謝。
這可能工作,我會試試看。我認爲唯一的問題是無論我在哪裏放置延遲,它仍然處於執行的同一個線程中,並且存在重入問題。我會回覆一些結果。 – dpsthree
定時器的一個目的是打破可能導致重入問題的執行鏈。另一個目的是在刷新之前允許其他事情發生,這可以減少所需刷新的次數。 – crefird
沒有運氣,因爲計時器必須在事件處理程序鏈中的某處被解僱,所以我們只是推遲了不可避免的事情。我能夠想出的唯一解決方案是獨立更新按鈕,可獨立刷新兩個數據集。 – dpsthree