以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  关联表同步更新问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=79054)

--  作者:实话实说
--  发布时间:2015/12/23 13:35:00
--  关联表同步更新问题

在快捷菜单中设置了"同步本表"

Dim t As Table = CurrentTable
If t.IsRelation = False
    t.DataTable.Load()
End If
它只针对主表,在关联表中不会出现该菜单.如何解决关联表的同步


--  作者:大红袍
--  发布时间:2015/12/23 14:10:00
--  

同步主表,不就是同步关联表了吗?

 

关联表的数据,就是直接对主表的筛选而已。


--  作者:实话实说
--  发布时间:2015/12/23 16:15:00
--  

刚开完会。是这样:

A表是总帐表,B表是明细表,A.B是关联表,在总帐表中盘那个右键快捷菜单,有【同步本表】菜单,但在A.B表右键快捷菜单却没有【同步本表】菜单,而窗口中B表是不可见的。

 


--  作者:大红袍
--  发布时间:2015/12/23 16:24:00
--  

右键菜单的显示,是在你菜单设计那里控制的,去看一下你Cell菜单的 Popup事件

 

e.ContextMenu.Items("DockSetting").Visible= (CurrentTable.IsChild OrElse CurrentTable.IsParent)
e.ContextMenu.Items("Filter").Enabled = (CurrentTable.Current IsNot Nothing)
e.ContextMenu.Items("Load").Visible = (CurrentTable.IsRelation = False)


--  作者:实话实说
--  发布时间:2015/12/23 16:45:00
--  
Popup事件代码正常,为什么主表可以显示【同步本表】快捷菜单,而关联表不显示
[此贴子已经被作者于2015/12/23 16:44:46编辑过]

--  作者:大红袍
--  发布时间:2015/12/23 16:45:00
--  

汗,隐藏了啊,删除

 

e.ContextMenu.Items("Load").Visible = (CurrentTable.IsRelation = False)


--  作者:大红袍
--  发布时间:2015/12/23 16:45:00
--  

或者写

 

e.ContextMenu.Items("Load").Visible = True


--  作者:实话实说
--  发布时间:2016/1/12 14:58:00
--  
以下是引用大红袍在2015/12/23 14:10:00的发言:

同步主表,不就是同步关联表了吗?

 

关联表的数据,就是直接对主表的筛选而已。

不是的,关联表是一对多的多方,它有明细数据,只是显示与主表关联的数据.同步主表并不能同步关联表,如果在快捷菜单显示"同步表"则不起作用


--  作者:大红袍
--  发布时间:2016/1/12 15:21:00
--  

1、父表、子表、关联表、主表你分清楚了吗?

 

2、同步父表,不会同步子表;关联表是 父表.子表,相对于关联表,主表就是子表啊。

 

3、父子同步参考 http://www.foxtable.com/help/topics/2894.htm

 


--  作者:实话实说
--  发布时间:2016/1/12 15:51:00
--  

第3条的同步方法我看了,但不能解决实际应用.实际应用时,装载表的窗口已经打开,总不能需要同步的时候再打开窗口,如果用按钮同步,则每个窗口都要设置按钮,很麻烦,快捷菜单中的同步表是同步当前表,不需要指定表名,