Dbgrid中 Picklist如何能够显示A值,而写入数据库的为B值?(50分)

  • 主题发起人 主题发起人 lipingcool
  • 开始时间 开始时间
L

lipingcool

Unregistered / Unconfirmed
GUEST, unregistred user!
比如,有一字段为area_cd,我想在Picklist中显示 "中国",而想在写到数据库时为"086"?
另外,是不是用Infopower的Twwdbgrid比较容易实现,但俺不知怎么用Twwdbgrid?
望各位高人多多指教!
 
在数据库的一大串before事件中进行判断。
 
再此字段的ONGETTEXT 与 ONSETTEXT 事件写代码。
ONGETTEXT 用于显示,而ONSETTEXT用于写入数据库。
 
在ONGETTEXT事件中:if table1.fieldbyname('area_cd').asinteger = 086
then text:='中国'
在ONSETTEXT事件中:if text = '中国' then table1.fieldbyname('area_cd').asinteger := 086

我就是这样写的,可以实现!
 
我写了不少数据库的程序,但大都是用Query,对table的操作实在不熟,ONGETTEXT和ONSETTEXT
是哪个的事件?
 
首先,将字段设为静态字段,静态字段的event 中有ONGETTEXT和ONSETTEXT
 
同意zhouzaoqi,方便好用。
 
zhouzhaoqi的方法应该不错。但还可以用查找字段方式:在TABLE组件上右击鼠标,
选择Fields Editor,在弹出的窗体中右击,选择Add fields...,关键是FIELDS TYPE
项中必须选LOOKUP,DATASET 代表提取查找字段的数据集,RESULT FIELDS代表查找字段中
显示的字段,KEY FISLDE和LOOKUP FIELDS 定义了两表的连接条件。
 
哈哈,为什么不用wwDBLookupCombo呢?(另建一中文与代码的对照表)
我真觉得奇怪。
 
使用EHLIB 的GRID ,他有两个属性 PICKLIST和KEYLIST,你就将显示的东西放到PICKLIST里
把实际值放到KEYLIST就可以了
另外zhouzaoqi的方法的确不错,其实是一个字段翻译器,可以实现跟多的控制哦
 
多谢各位了!
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
I
回复
0
查看
748
import
I
后退
顶部