dbgrid 滚动条在平常查询如查询一百条记录能正常出现,但改变查询条件查询到一次空记录后,滚动条不见了(空记录不见滚动条也属正常)关键是再回过头来查出刚才的一百条记录,滚动条也会不见了!
解决方案 »
- ???请问如何修改 const Signature = 'CRC TEST12 '这一句,我不想静态赋值,想取Edit2的值,该怎么改程序???
- 请教如何让WebBrowser提交没有按钮名的表单?
- 招東莞的delphi+SQL2K高手合作搞項目
- 关于Socket问题
- 把数据导入word模板进行替换时遇到问题,大家都来看看,解决问题了我再开帖子给分
- 没有注册类别!!!!
- 请教各位大侠,系统快照的怎么释放不掉啊
- 关于DBGRID的问题,对不起,我没有分,请大家帮帮我!
- 我如何知道sina的短信网关?
- 請"救"!Delphi 7 的idSMTP 和 idPOP3 組件的用法?
- 怎样在程序中控制fastreport报表中memo的坐标?
- 用delphi设置桌面背景
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DB, ADODB, Grids, DBGrids;type
TForm1 = class(TForm)
DBGrid1: TDBGrid;
ADOTable1: TADOTable;
DataSource1: TDataSource;
procedure FormCreate(Sender: TObject);
private
Procedure OnMouseWheel(Var Msg :TMsg;var Handled:Boolean);
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}
//------------------------------------------------------------------------------
Procedure TForm1.OnMouseWheel(Var Msg :TMsg;var Handled:Boolean);
begin
if Msg.message = WM_MouseWheel then
begin
if Msg.wParam > 0 then
begin
if DBGrid1.Focused then
SendMessage(DBGrid1.Handle,WM_VSCROLL,SB_PAGEUP,0);
end
else
begin
if DBGrid1.Focused then
SendMessage(DBGrid1.Handle,WM_VSCROLL,SB_PAGEDOWN,0);
end;
Handled:= True;
end;
end;procedure TForm1.FormCreate(Sender: TObject);
begin
Application.OnMessage:=OnMouseWheel; // 截获鼠标滚动事件
end;
DBGRID1连DataSource1连ADOQuery1
查询出一百条记录,上下滚动条出现,查询到空记录,不出现(前两步完全正常)再次查询刚才一百条,滚动条不出现了,再查询一下空记录,再查询一百条,滚动条又回来了。