cxgrid 主从表问题.

qq7118622 2011-08-26 08:05:26
1:主从表中要用到三个字段才能确定唯一记录:客户编号,产品编号,客户po.cxgrid中不知如何设置,我就用了一下:客户po.结果

如下图,是不正确的.
从表:

主表结果:

按说第一条主表记录下的从表应该显示2条从表记录的,第二条主表记录也应如此.

2:按上图显示,在从表中可以修改记录,但不能添加记录.按向下键添加,焦点就反回到主表记录了.请教了.谢谢.
...全文
170 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
myflag 2011-08-30
  • 打赏
  • 举报
回复
从表的MasterKeyFieldNames 设置为产品编号;客户PO
DetailKeyFieldNames 为产品编号;客户PO
keyfieldnames要设置为能唯一确定从表一行记录的字段,如果是多字段,多个字段之间用;隔开
myflag 2011-08-30
  • 打赏
  • 举报
回复
设置cxgrid的主从表很简单,只需要设置好
从表DBtableView2的keyfieldnames,DetailKeyFieldNames和MasterKeyFieldNames 就行啦,
MasterKeyFieldNames为主表关联字段,
DetailKeyFieldNames 为从表关联字段,
keyfieldnames设置就是关键,这里应该设置的是从表主键字段,而不是网上很多说的跟MasterKeyFieldNames字段一样.
主表DBtableView1的keyfieldnames可以不用设置.

至于为什么 从表焦点只有第一条记录,不能移动呢?
是因为从表的keyfieldnames设置不对.keyfieldnames的作用是指定从表查找记录的字段,
当设置的与MasterKeyFieldNames字段一样时,从表该字段值都是一样的,当表查找记录时,按该字段查找,只找到第一条记录,就认为找到记录了,所以出现从表焦点只有第一条记录,不能移动的情况.
故 从表的keyfieldnames要设置为能唯一确定从表一行记录的字段,这一般为从表主键字段,当然从表某一字段不是主键,但能唯一确定从表一行记录的字段也行.

varick_zhong 2011-08-30
  • 打赏
  • 举报
回复
因为你添加的时候没有产生关联唯一号
W9757 2011-08-27
  • 打赏
  • 举报
回复
主从表的查询语句后加order by 连接关键字段.
qq7118622 2011-08-27
  • 打赏
  • 举报
回复
自己顶一下.期待.

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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