baidu google里输入一个关键词 会出现好多关键字组合下拉出来。
我想问下,这个下拉效果是怎么弄出来的?
再有那些与关键字相关的组合字是怎么查询出来的,如果已经有了关键字组合库?
我想问下,这个下拉效果是怎么弄出来的?
再有那些与关键字相关的组合字是怎么查询出来的,如果已经有了关键字组合库?
解决方案 »
- apache 發布intraweb生成的.so時出現不能識別aliasname
- 当X=xx的时候...
- datEtimepicker学了的都忘了.
- TDBChart的两个小问题
- 我自己设计了软件界面与界面上的一些button几种状态
- ADOQuery异步执行SQL时,DBGrid显示不出数据?
- 两个按钮button的onclick事件,怎么区分呀??? 在线在等侍。。。。。
- SQLSERVER字符型字段空值为什么ADO读出来,在DBGRID里显示为''象r的字符(#1)?高手们帮帮忙!!!
- 请大家看看这段程序????????
- 有N个人经过N天都没解决的问题!!!!
- 求解:erp的时间连接问题
- sniffer问题
procedure TForm1.CodeEditEnter(Sender: TObject);
begin
if CodeEdit.text<>'' then
begin
CodeEdit.SelStart:=length(CodeEdit.text);
Table1.locate('code', CodeEdit.text,[lopartialkey]);
End;
end;
CodeEdit的OnExit事件如下:
procedure TForm1.CodeEditExit(Sender: TObject);
begin
if activecontrol<>dbgrid1 then
begin
dbgrid1.Visible:=false;
Table1.Locate('code',codeedit.text,[lopartialkey]);
if Table1.Eof then
begin
dbgrid1.Visible:=true;
exit;
end;
if not Table1.Eof then
begin
codeedit.Text:=Table1.fieldbyname('code').asstring;
NameEdit.Text := Table1.fieldbyname('name').asstring;
end;
end;
end;
CodeEdit的OnKeyDown事件如下:
Procedure Tform1.CodeEditKeyDown(Sender: TObject;var Key: Word;Shift: TShiftState);
var
i:integer;
begin
if (Table1.RecordCount>0) then
begin
case key of 48..57:
begin
dbgrid1.Visible:=true;
Table1.Locate('code',CodeEdit.text,[lopartialkey]);
end;
vk_next:
if dbgrid1.Visible then
begin
i:=0;
while (not Table1.Eof) and (i<11) do
begin
Table1.Next;
i:=i+1;
end;
CodeEdit.Text:=Table1.fieldbyname('code').asstring;
End;
vk_prior:
if dbgrid1.Visible then
begin
i:=0;
while (not Table1.Bof) and (i<11) do
begin
Table1.prior;
i:=i+1;
end;
CodeEdit.Text:=Table1.fieldbyname('code').asstring;
end;
vk_down:
if dbgrid1.Visible then
begin
if not Table1.Eof then
begin
Table1.Next;
CodeEdit.Text:=Table1.fieldbyname('code').asstring;
end;
end;
vk_up:
if dbgrid1.Visible then
begin
if not Table1.Bof then
begin
Table1.Prior;
CodeEdit.Text:=Table1.fieldbyname('code').asstring;
end;
end;
end;
end
else
dbgrid1.Visible:=false;
CodeEdit.SelStart:=length(CodeEdit.text);
end;
CodeEdit的OnKeyUp事件如下:
procedure Tform1.CodeEditKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
if (Table1.RecordCount>0) then
begin
if ((key>=48) and (key<=57)) then
Table1.Locate('code',codeedit.text,[lopartialkey]);
if (key=VK_back) and (codeedit.text<>'') then
Table1.Locate('code',codeedit.text,[lopartialkey]);
if (key=VK_BACK) and (codeedit.text='') then
Table1.First;
if (key=vk_down) or (key=vk_up) or (key=vk_prior) or (key=vk_next) then
if dbgrid1.Visible then
codeedit.Text:=Table1.fieldbyname('code').asstring;
end
else
dbgrid1.Visible:=false;
codeedit.SelStart:=length(codeedit.text);
end;