2010-02-18 101 views
1

我想阻止基於某些條件的ADORecordset的滾動。如何防止TADORecordset滾動?

例如,它是方便做這樣的事情:

procedure TfrmMain.qryCenyBeforeScroll(DataSet: TDataSet); 
begin 
    if not (condition) then 
    qryCeny.DoNotScroll; //Just the idea 
end; 

如何做到這一點?

+0

你爲什麼要這麼做?你是否試圖阻止用戶滾動? – 2010-02-18 11:22:27

+0

我有master-detail關係,但詳細記錄集處於ltBatchOptimistic模式。如果主記錄集將更改其位置,則詳細記錄集更改可能會丟失。如果想在滾動主記錄集之前顯示確認窗口。 – Wodzu 2010-02-18 12:32:21

+1

您也許可以使用內存中的主表和主表和細節,然後您可以更好地控制何時應用(或丟棄)任何修改 – 2010-02-18 14:47:03

回答

4

你也可以拋出一個異常,例如:

if not (condition) then 
    Abort;