用Rxlib275 的rxlookupEdit, 它是与数据库关联的,可下拉可清空;
代码可以自己做,很简单的,
在onchange 或者 oncloseUp事件修改SQL语句或者用Filter不就得了,
最好是另外开一个edit来作作这件事! 当然也可以直接如你所说在rxlookupedit
的事件上直接写
给你看点代码吧:
procedure TFrmTableIntoLib.rxlookupEdit3Change(Sender: TObject);
begin
if rxlookupEdit3.text <>'' then
begin
DataModuleNew.QueryProviderCode.Close;
DataModuleNew.QueryProviderCode.SQL.clear;
DataModuleNew.QueryProviderCode.SQL.Text :='Select * From 供应商编码表 WHERE 供应商名称 LIKE ''%'+trim(rxlookupEdit3.Text)+'%'' order by 供应商名称';
DataModuleNew.QueryProviderCode.Open;
RxLkEditClient.LookupSource.DataSet.Close;
RxLkEditClient.LookupSource.DataSet.Open;
end
else
begin
DataModuleNew.QueryProviderCode.Close;
DataModuleNew.QueryProviderCode.SQL.clear;
DataModuleNew.QueryProviderCode.SQL.Text :='Select * From 供应商编码表 order by 供应商名称 ';
DataModuleNew.QueryProviderCode.Open;
RxLkEditClient.LookupSource.DataSet.Close;
RxLkEditClient.LookupSource.DataSet.Open;
end
end;