dddw的数据取值问题,百思不得其解。

iamtk 2003-09-15 12:09:20
已知一张基础数据表:
f_employee(rybh--人员编号(PK),xm--姓名,csrq--出生日期,zw--职务)。
在另一个数窗(dw_edit)中要调用该表中的人员信息。
dw_edit中有一个字段为[rybh]它所接的dddw为人员表(f_employee).
其中DisplayColumn为xm,DataColumn为rybh.
如果员工表中存在两个同名的人员的话,数窗将无法识别。
请问各位大虾如何是好?(最好有通用性)
...全文
80 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
flyhot 2003-09-15
  • 打赏
  • 举报
回复
同意
klbt 2003-09-15
  • 打赏
  • 举报
回复
多建立一个冗余列(计算列或计算域):人员姓名
将DDDW的显示列修改为rybh,在数据窗口的ItemChange事件编码,自动设置人员姓名。
zsqluck790804 2003-09-15
  • 打赏
  • 举报
回复
你的人员编号字段不是关键字
jdsnhan 2003-09-15
  • 打赏
  • 举报
回复
不知道算不算bug。
做了一个完整的测试,发现,itemchanged事件是根据显示的值触发的。
例如:
dddw中 张三、0001
张三、0002
李四、0003
此时,如果在dw中,连续选择张三,则不触发itemchanged事件;
如果选李四,再选张三,则触发itemchanged事件。
另外,此时,不要取data参数,此参数是根据显示的值定,如果有相同,则以第一个为主。
象楼主所说的,永远取不到第二个是错误的,其实取到了第二个,不过是你判断data参数给你带来的错觉。应该更换取值方式:

ls_temp = ldwc_temp.getitemstring(ldwc_Temp.getrow(),"fct_code")
//ldwc_temp 为子数据窗口
// fct_code 为一关键字,即楼主的员工编号
根据取得的员工编号再去取一系列员工信息,完成操作。

题外话,楼主知道用户怎么样判断两个同名员工吗
iamtk 2003-09-15
  • 打赏
  • 举报
回复
感谢各位的意见。
在dddw中显示的数据除了姓名外,还有“性别、部门、职务、出身日期”的字段,用于区分同名
的用户。但在dddw中选择同名的不同用户时总是只能选中第一项。
不知各位还有何高见,望赐教。
chrisfy 2003-09-15
  • 打赏
  • 举报
回复
个人认为这种需求不正确,不让显示主键ID号,名字又是重着的,如果如你想象中的一顺排着两个同样的姓名,这样的窗口做出来恐怕连用户自己都该糊涂了!
rogery 2003-09-15
  • 打赏
  • 举报
回复
不让显示主键ID号,名字又是重着的。

鱼和熊掌的问题
xisat 2003-09-15
  • 打赏
  • 举报
回复
http://expert.csdn.net/Expert/topic/2260/2260912.xml?temp=.4461786
xisat 2003-09-15
  • 打赏
  • 举报
回复
两个一样的帖子呢~亢余~
jdsnhan 2003-09-15
  • 打赏
  • 举报
回复
那边的那个帖子回答了。
估计楼主是取"员工姓名"做的处理。
应该"员工编号"处理。即选定的时候,要读出相应的员工编号来,根据唯一的员工编号做处理。
jdsnhan 2003-09-15
  • 打赏
  • 举报
回复
那边的那个帖子回答了。
估计楼主是取"员工姓名"做的处理。
应该"员工编号"处理。即选定的时候,要读出相应的员工编号来,根据唯一的员工编号做处理。
阿鹏兄 2003-09-15
  • 打赏
  • 举报
回复
用函数

609

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder DataWindow
社区管理员
  • DataWindow社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧