dbadvgrid 如何实现滚动条与数据同步

dbadvgrid 怎么实现滚动条与数据同步
相当于dxdbgrid中的loadallrecords

------解决方案--------------------
Delphi(Pascal) code
...
private
  OldGridWnd : TWndMethod;
  procedure NewGridWnd (var Message : TMessage);
public

...
procedure TForm1.NewGridWnd(var Message: TMessage);
var
  IsNeg : Boolean;
begin
  if Message.Msg = WM_MOUSEWHEEL then
  begin
    IsNeg := Short(Message.WParamHi) < 0;
    if IsNeg then DBGrid1.DataSource.DataSet.MoveBy(1)  //相应鼠标记录与滚动条同步后滚
    else DBGrid1.DataSource.DataSet.MoveBy(-1);         //相应鼠标记录与滚动条同步前滚
  end 
  else OldGridWnd(Message);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  OldGridWnd := DBGrid1.WindowProc ;
  DBGrid1.WindowProc := NewGridWnd;
end;