代码如下:
procedure TForm1.ComboBox1Change(Sender: TObject);
var
i : integer;
MyList : TstringList;
begin
MyList := TStringList.Create;
MyList.Clear;
with ADOQuery1 do
begin
close;
SQL.Clear;
SQL.Add('Select * FROM providerInfo where Pname like '+''''+'%'+Trim(ComboBox1.Text)+'%'+'''');
open;
end;
for i := 0 to adoquery1.RecordCount - 1 do
begin
MyList.Add(adoquery1.fieldbyname('Pname').AsString);
adoquery1.Next;
end;
combobox1.Items := mylist;
end;procedure TForm1.ComboBox1Select(Sender: TObject);
begin
combobox1.Text := combobox1.SelText;
end;
问题如下:1、当我输入‘河’字时,有关‘河’的字段会全部查询到,这个没有问题,
2、我选中其中一条:比如是‘河北**机械厂',先按一下方向(左)建,但当我再按backspace键时,'厂'字删除掉了,可问题来了,光标自动到combobox1最左边,可能是由onchange事件引引起的,请问如何恢复到正常状态?
3、当我输入某个关键字进行查询时,比如:’河北‘,我的combobox1输入框中却变成了’**机械厂‘, 这又是为何。(我用的万能五笔输入法。)
procedure TForm1.ComboBox1Change(Sender: TObject);
var
i : integer;
MyList : TstringList;
begin
MyList := TStringList.Create;
MyList.Clear;
with ADOQuery1 do
begin
close;
SQL.Clear;
SQL.Add('Select * FROM providerInfo where Pname like '+''''+'%'+Trim(ComboBox1.Text)+'%'+'''');
open;
end;
for i := 0 to adoquery1.RecordCount - 1 do
begin
MyList.Add(adoquery1.fieldbyname('Pname').AsString);
adoquery1.Next;
end;
combobox1.Items := mylist;
end;procedure TForm1.ComboBox1Select(Sender: TObject);
begin
combobox1.Text := combobox1.SelText;
end;
问题如下:1、当我输入‘河’字时,有关‘河’的字段会全部查询到,这个没有问题,
2、我选中其中一条:比如是‘河北**机械厂',先按一下方向(左)建,但当我再按backspace键时,'厂'字删除掉了,可问题来了,光标自动到combobox1最左边,可能是由onchange事件引引起的,请问如何恢复到正常状态?
3、当我输入某个关键字进行查询时,比如:’河北‘,我的combobox1输入框中却变成了’**机械厂‘, 这又是为何。(我用的万能五笔输入法。)
解决方案 »
- 菜鸟一问:怎样将串口发出的数据转化为浮点数,并进行计算后,显示出来
- 紧急求救。谢谢各位了
- 我用Delphi想做关于数据库(Oracle)的Web应用,查了下资料,WebBroker,Websnap,IntraWeb都可以实现,不知用什么好?哪位能详细说明一下
- Dll调用问题??
- 非常有创意的征友要求(北京MM的)
- 菜鸟问题 请高手指点
- ado问题求助?
- 找个Delphi7好用的FastReport,最好有地址。。
- delphi6 求救:::接收邮件 主题 编码问题 求救!!!!!!!!!!(不是mime问题哦)
- 请问李维出了哪些书?在书店(大陆)有售吗?有没有电子版下载?
- C++和delphi的HWND问题
- 通过ADO更新mysql表,2600条,用了30秒,怎么优化?急。谢谢
2. 可把combobox的DropDownListStyle的屬性設為isfixedlist或lsEditFixedList\lsEditList看下變更後的效果你就知道了;
3. 一般都是用while把數據裝載到combobox中,再用lsEditList屬性,可輸入、可選擇(此時要注意onchange事件,關鍵字的即時變更會執行到此事件
不用每次combobox输入都查询,只需要第一次你装载数据进去就可以。
你每次不都得搜索了?那多麻烦。
请问你用的哪个delphi 版本。我没有这些属性。我用的D7
后面加上:
ComboBox1.SelStart:= Length(ComboBox1.Text); //光标移到文字的右方,不加则移到左方