Delphi ADOQuery /后滚动/找到/ DisableControlls / EnableControlls

时间:2018-08-23 07:46:48

标签: delphi ado

我想知道我是否正确地做到了,TourQuery.AfterScroll具有RackQuery,RackQueryAfterScroll具有PosQuery。当用户尝试锁定日期以进行更改时,我会进行刷新以确保他看到的是当前数据。如果没有任何变化,那么请确保TourQuery和RackQuery在刷新之前保持其最后位置。

我尝试了几种不同的方法来执行此操作,但似乎最快的方法是将EnableControls放在AfterScroll之后的Locate之后。

我只是想问一下我是否做对了,或者有更好的方法。我已经尝试过google了,但是DisableControls和EnableControls只是一些基本的东西,而没有最佳实践。

        myTour := TourQueryTour.Value;
        myPID := RackQueryPID.Value;

        TourQuery.DisableControls;
        RackQuery.DisableControls;
        PosQuery.DisableControls;

        if TourQuery.Active then TourQuery.Close;
        TourQuery.Parameters.ParamByName('Datum').Value:=DateTimePicker1.DateTime;
        TourQuery.Parameters.ParamByName('werk').Value:='XXX';
        TourQuery.Open;

        cxGrid1DBTableView1.ApplyBestFit();

        TourQuery.AfterScroll:=nil;
        TourQuery.Locate('Tour',myTour,[]);
        TourQuery.EnableControls;

        TourQuery.AfterScroll:=TourQueryAfterScroll;
        TourQuery.AfterScroll(TourQuery);

        RackQuery.AfterScroll:=nil;
        RackQuery.Locate('PID',myPID,[]);
        RackQuery.EnableControls;

        RackQuery.AfterScroll:=RackQueryAfterScroll;
        RackQuery.AfterScroll(RackQuery);

        PosQuery.EnableControls;

0 个答案:

没有答案