dbadvgrid 如何实现滚动条与数据同步
dbadvgrid 怎么实现滚动条与数据同步
相当于dxdbgrid中的loadallrecords
------解决方案--------------------
相当于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;