关于TDBEDIT(50分)

  • 主题发起人 主题发起人 向前
  • 开始时间 开始时间

向前

Unregistered / Unconfirmed
GUEST, unregistred user!
请问我怎样才能在TDBEDIT中实现这样的功能:当我输入1时,程序自动将对应
的数据库表字段中以1开头的项选出来,当我输入12时,又将以12开头的项选出
来。
对了,在TDBLOOKUPCOMBOBOX中可以键盘输入数据吗?(也想实现上面的功能)
在TDBEDIT中,怎样才能让编辑框中的字符串自动靠右边。
在一个闪现表单中加入一个TIMAGE控件,LOAD一副BMP,结果在运行时只是一个
灰灰的表单,什么也没有,怎么灰事?
对不起,问题很多,分很少,对不起对不起!


 
1。用LOOKUP栏位也许行,我觉得不太可能。
2。数字是右对齐,字符是左对齐。
3。>>在一个闪现表单中加入一个TIMAGE控件,LOAD一副BMP,
结果在运行时只是一个灰灰的表单,什么也没有,怎么灰事?
我没遇到过。
--相当于没答。

 
1.在DBEdit的OnChange事件里使用下列SQL语句,
with Query1 do
begin
close
sql.clear;
sql.add('select * from table where youfield like :s');
prepare;
paramByName('s').asString:='%'+DbEdit.text+'%';
open;
end;
注意,Query1必须与你的DbEdit共用一个DataSource。
2.在DbEdit的BiDiMode中选择RightToLeft;
3.将窗体Update一下。
 
DBEDIT好象不行。用EDIT好控制些,将条件写入TABLE的FILTER。
刷新一下就没有灰灰的表单了
试试APPLICATION.ProcessMessages
 
简单地说:1。 var mylist:TstringList.
2. myList:=TstringList.create
3. table1.first
while not eof do
begin
myList.add(table1.fieldByName('myfield').asString);
next;
end;
4.用以上的方法将表中的记录写入mylist中。
5。然后调用onChange,自动地对mylist中匹配的记录进行查找。
6。记得mylist.free.
 
1。在TDBEdit的onChange事件中,加入如下语句:
table1.locate('字段',dbedit.text,[])
2。将TDBEdit对应的TABLE的字段设成静态字段,再将其align属性设为alRight
3.可在设计时,就将图加到Timage中,或用APPLICATION.ProcessMessages
 
1、关于第一个问题, 不能使用TDBEDIT,二应使用TEDIT,同时加入TQuery和TlistBox(
或ComboBox)
在其Edit1Change事件中加入:
begin
Query1.close;
Query1.SQL.Clear;
Query1.SQL.Add('Select XXX from YYY Where XXX like "'+ Edit1.text+'%"');
Query1.OPEN;
TlistBox.Items.Clear;
while not Query.EOF do Begin
TlistBox.Items.ADD(Query1.FieldByName('XXX').AsString);
end;
end;

如用TDbEdit,一旦进行查询或locate,当前记录就发生了变化,而且原来TDbEdit里的内容
就已经被POST了!!!!(血的教训!!!)
2、TDBLOOKUPCOMBOBOX中可以键盘的 ↑↓键 来输入数据!!!!!
 
多人接受答案了。
 
后退
顶部