nit pub;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,
Dialogs, DB, ADODB, Grids, DBGrids, StdCtrls;
procedure findword(typeform:tform;myedit:tedit;dbset:tadodataset;zdname:string;zdvalue:string;sqlstr:string);implementation
var myedit:tedit;
mydbgrid:Tdbgrid;
myDataSource:Tdatasource;
key:char;
mymess:Tmessage;
{ mydbgrid }procedure findword(typeform:tform; myedit:tedit;dbset:tadodataset;zdname:string;zdvalue:string;sqlstr:string);
var sender:Tobject;
begin
dbset.Close;
if myDataSource=nil then
begin
mydatasource:=Tdatasource.Create(nil);
mydatasource.DataSet:=dbset;
end;
if mydbgrid=nil then
begin
mydbgrid:=Tdbgrid.Create(typeform);
mydbgrid.DataSource:=mydatasource;
mydbgrid.Height:=200;
mydbgrid.Width:=300;
mydbgrid.Top:=myedit.Top+myedit.Height;
mydbgrid.Left:=myedit.Left;
end;
dbset.CommandText:=sqlstr+' where '+zdname+' like "'+myedit.Text+'%"';
dbset.Open;
end;
end.
我想在这个方法中调用myedit的onkeypress事件销毁mydbgrid及mydatasource并在myedit中返回结果。如何实现,请教高手。
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,
Dialogs, DB, ADODB, Grids, DBGrids, StdCtrls;
procedure findword(typeform:tform;myedit:tedit;dbset:tadodataset;zdname:string;zdvalue:string;sqlstr:string);implementation
var myedit:tedit;
mydbgrid:Tdbgrid;
myDataSource:Tdatasource;
key:char;
mymess:Tmessage;
{ mydbgrid }procedure findword(typeform:tform; myedit:tedit;dbset:tadodataset;zdname:string;zdvalue:string;sqlstr:string);
var sender:Tobject;
begin
dbset.Close;
if myDataSource=nil then
begin
mydatasource:=Tdatasource.Create(nil);
mydatasource.DataSet:=dbset;
end;
if mydbgrid=nil then
begin
mydbgrid:=Tdbgrid.Create(typeform);
mydbgrid.DataSource:=mydatasource;
mydbgrid.Height:=200;
mydbgrid.Width:=300;
mydbgrid.Top:=myedit.Top+myedit.Height;
mydbgrid.Left:=myedit.Left;
end;
dbset.CommandText:=sqlstr+' where '+zdname+' like "'+myedit.Text+'%"';
dbset.Open;
end;
end.
我想在这个方法中调用myedit的onkeypress事件销毁mydbgrid及mydatasource并在myedit中返回结果。如何实现,请教高手。
试试~~
我想在这个方法中调用myedit的onkeypress事件销毁mydbgrid及mydatasource并在myedit中返回结果。如何实现?
如:1做一个静态窗体,把该用的放好
2procedure findword(myedit:tedit;zdname:string;zdvalue:string;sqlstr:string);
var sender:Tobject;
begin
dbset.Close;
//1显示窗体
//2设置显示位置
dbset.CommandText:=sqlstr+' where '+zdname+' like "'+myedit.Text+'%"';
dbset.Open;
myedit.onkeypress:=//你的函数,参数一样 ,这样当onkeypress发生时你的函数就执行了
end;
不太明白,能不能说清楚些?