Grid表格数据如何显示问题?(100分)

  • 主题发起人 主题发起人 cui27
  • 开始时间 开始时间
C

cui27

Unregistered / Unconfirmed
GUEST, unregistred user!
员工表如下: 部门表如下:
姓名 所在部门 部门ID 部门名称
assa 001 001 销售部
sdss 003 002 生产部
ffff 005 003 人事部
....... ...... ....... ......

我想在显示 员工表 的时候,‘所在部门’字段显示部门表中的‘部门名称’字段,
但数据值是‘部门ID’值。
在pb下很容易实现,请教在delphi下如何实现呢?不排除第3方控件。
 
关联不就行了吗!
select a.姓名,b.部门名称 from 员工表 a,部门表 b where a.所在部门=b.部门ID
 
用Query,再将表通过‘部门ID’关联
 
SanDao:你好!
我想在问一下。如果需要修改员工表里的部门名称,也是这样关联吗?
 
(非外键好像可以)
这个字段是外键,所以不可以,在修改前在部门表中先要用一个数据集查询一下!
(下面的代码随便写的,只表示大意,并不一定能编译通过)
DataSet2.Close;
DataSet2.SQL := Select 部门ID from 部门表 where 姓名='当前Gird中的姓名';
DataSet2.Open;
Temp_Int := DataSet2.FieldByName('部门ID').AsInteger;
然后再修改当前的员工表
员工表.Edit;
员工表.FieldByName('所在部门').String := Temp_Int;
员工表.Post;
 
field.ongettext事件中,设置成相应的部门名称
 
我以前也遇到过同样的问题,用了一个三方的DBGrid,用了三列来显示(员工、部门ID、
部门名称),部门ID隐藏不见,部门名称只用来显示,它与部门ID相联系,这样实现了
对员工表进行修改。
 
to cui27
同意Sandao的。
关联就行!
select a.姓名,b.部门名称 from 员工表 a,部门表 b where a.所在部门=b.部门ID
 
用视图也行,很方便的
 
接受答案了.
 
后退
顶部