以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- _Indentify 列 与 DatacolChanged事件 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=75268) |
-- 作者:cpayinyuan -- 发布时间:2015/10/2 11:22:00 -- _Indentify 列 与 DatacolChanged事件
关于 _Indentify 列 ,对系统中的两点限制不太理解: 1、目前的系统中,当_Indentify 列发值发生变化时(例如使用外部数据源时,保存时发生了变化),不会运行DataColChanged 事件。由于另一张表的某列需要与当前表的_Indentify 值保持相等,所以,这样的设计带来了很大的麻烦。为了保持其他列始终保持与当前表的_Identify相等,我不得不建立了很多没有用的关联,导致效率降低。实在不理解为什么要做此限制! 2、当我用代码建立关联时,如果父表用_Identify列关联,系统提示找不到_Indentify 列。实际上肯定是存在这个列的,并且在菜单中也允许用父表的_Indentify列 与子表建立关联。对这个限制,我也不理解为什么要这么做!
不知是我没有找到方法,还是系统中就是这样的设计的,如果确实如此,希望贺老师关注一下! [此贴子已经被作者于2015/10/2 11:22:39编辑过]
|
-- 作者:大红袍 -- 发布时间:2015/10/4 11:42:00 -- 1、这个没办法;
2、这个是应该是add方法的bug,datacols是获取不了系统列的。 |
-- 作者:yinyb36 -- 发布时间:2015/10/6 21:11:00 -- 最好不要用_Identify作关联列 |
-- 作者:cpayinyuan -- 发布时间:2015/10/7 13:16:00 -- 其实,帮助中是强烈建议用 _Identify 列作为主键列(自增长字段),并建议用 _Identify 列作为关联的。
其实,只要贺老师把这两个地方对 _Identify 列的限制取消,这个列与其他列就一样了,这两个问题自然就不存在了。不知以前为什么作此限制? |
-- 作者:大红袍 -- 发布时间:2015/10/7 14:41:00 -- _Identify做关联不好用的,因为它的值是随机的,管理或拓展起来麻烦。 |
-- 作者:cpayinyuan -- 发布时间:2015/10/8 9:31:00 -- 以下是引用大红袍在2015/10/7 14:41:00的发言:
_Identify做关联不好用的,因为它的值是随机的,管理或拓展起来麻烦。 不用_Identify列做关联没问题,但我说的第1个问题如何解决?系统帮助中是一直推荐用 _Identify 作主键列的。 |
-- 作者:大红袍 -- 发布时间:2015/10/8 10:03:00 -- _Identify做主键列,是为了foxtable的方便而已,跟你的系统设计无关。自动递增的列只做唯一标记,没有任何其它作用。 |
-- 作者:cpayinyuan -- 发布时间:2015/10/8 12:05:00 -- 以下是引用大红袍在2015/10/8 10:03:00的发言:
_Identify做主键列,是为了foxtable的方便而已,跟你的系统设计无关。自动递增的列只做唯一标记,没有任何其它作用。 还是没解决我提出的第1个问题。 |
-- 作者:大红袍 -- 发布时间:2015/10/8 12:10:00 -- 不要用_Identify做任何操作啊,要用就先保存啊。 |
-- 作者:cpayinyuan -- 发布时间:2015/10/8 13:06:00 -- 以下是引用大红袍在2015/10/8 12:10:00的发言:
不要用_Identify做任何操作啊,要用就先保存啊。 您说的方法、思路都没问题,但并不能解决根本问题。在实际工作中,的确有时候不方便。
目前的FoxTAble版本中,真正的解决方案只有1个,就是不要用 _Identify 自增长字段作为主键。但我现在的系统中,有许多表,有许多代码,把所有表的主键列改名称也不是一件小事情。
所以,我建议贺老师修改一下系统,DatacolChanged 事件中,不要限制 _Identify 列(即让 _Identify 列变动时也可以激发DatacolChanged 事件,这样,所有的问题就不存在了。 如果FoxTable稍做改进就可以解决所有问题,我希望FoxTable稍做改进,而不是让我想许多变通的、不太方便的方法。 |