[英]How do I determine when a record is inserted in a TDataSet?
我正在編寫一個網格控件,它將顯示TDataSet或TObjectList的內容。 當您只需要支持TDataSet時,事情就很簡單了:
就我而言,我還需要接受來自其他一些來源的數據,這意味着我需要有一個代表每一行的對象(也是因為控件需要相當多的行狀態)。
但這會導致上述模型出現問題。 因為我有一個代表每一行的對象,所以在向TDataSet添加或刪除記錄時需要通知我。 我只是看不到該怎么做。
顯然,我不想迷上數據集事件。 它們可能已經在使用中,並且TDataLink應該是我的控件和數據集之間的中介。 我使用DataEvent虛擬方法的嘗試失敗了,因為它根本不會告訴您是否要添加/刪除記錄。
有任何想法嗎?
如果將TDataLink后代掛接到連接到TDataSet的TDataSource,則當數據更改時,您會在RecordChanged過程中得到調用。
您可以使用連接到TDataSet的TDataSource的事件OnDataChange和OnUpdateData。
看來,您必須從要使用的基本數據集類派生自己的類。 在那里,您將需要重寫InternalAddRecord,InternalPost,InternalDelete方法並處理記錄的添加/刪除。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.