如何用ComboBox把对应字符串显示出来并可以修改?(50分)

  • 主题发起人 主题发起人 pclover
  • 开始时间 开始时间
P

pclover

Unregistered / Unconfirmed
GUEST, unregistred user!
表中某字段放的是1,2,3,我想用DBComboBox显示成"早班","中班","晚班"并且可以修改,
能不能不写代码啊?
 
1.如果"早班","中班","晚班"在一个表中,可用dblookupcombobox
2.如果不在一个表中,可在dbcombobox的onchange事件
if table1.fieldbyname('fdf').value='早班' then table1.fieldbyname('fdf').value:='1';
if ...
if ...
 
两种方法:
1、做一个 lookup 表,把你的“某字段”做一个 lookup ,显示时只显示新字段的内容,
自动就显示成了 “早、中、晚”了。
2、写该字段的 OnGetText 事件:
case 某字段.AsInteger of
1: Text := '早班';
2: Text := '中班';
3: Text := '晚班';
end;
这时,你最好限制一下该字段的取值
 
也可以在Query中直接写SQL写代码将相应的列的值翻译成特定的值
使用方法是
Decode(fieldname,'value1','tranf1','value2','tranf2','default')
该函数在ORACLE中通过
例如
select decode(worktime,'morning','早班','noon','中班','evening','晚班','其它')
from mytable
则会将该workTime列中的相应字段值翻译为相应的值,使用时设置这个伪列即可!

 
多谢解答,我最后一句是"能不能不写代码", 因为我知道这种情况VB和PB是不用写代码的,
我在InfoPower2000上找到了一个DBComboBox搞定。另外,only you的办法行不通,DELPHI
的QUERY控件不支持该句法。
 
后退
顶部