以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  关于Load(Save)的疑惑  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=69408)

--  作者:klg1011
--  发布时间:2015/6/4 16:29:00
--  关于Load(Save)的疑惑

7.148 Load

重新加载行。
如果其他人已经修改并保存此行,执行此方法,即可将该行最新的内容同步显示在表中。

语法:

Load(Save)

Save:可选参数,逻辑型,同步前是否保存此行,默认为True,也就是保存。


以上是帮助里的说明,之前没有仔细考虑过这段话的意思,只是按帮助里的例子拿来就用了,今天回头又仔细看了看,突然又有些疑惑:

假如用户甲、乙都打开了表A,用户甲未做任务修改操作,用户乙修改了表A里的某行数据并保存,此时用户甲利用load方法重新加载该行,按帮助里说明代码运作流程应该是这样的:先保存该行后再把最新内容同步进来,此时后台最新内容按理说应该是用户甲保存的数据,所以同步进来的内容实际上应该是用户甲表A里显示的最初内容,而不是乙修改后的数据。至此就与“如果其他人已经修改并保存此行,执行此方法,即可将该行最新的内容同步显示在表中。”产生了矛盾。


以上问题怎么也想不通了,请大神们指点指点!!!


--  作者:Bin
--  发布时间:2015/6/4 16:32:00
--  
呵呵.你搞混了.

你换色的地方. 解析的是  Load

你黑色描述, 说的是Load(True)

并没有冲突,因为介绍的是两个不同的方法

--  作者:youkacard
--  发布时间:2015/6/4 16:33:00
--  
用户甲没有修改数据,不会保存的
--  作者:Bin
--  发布时间:2015/6/4 16:33:00
--  
Load 显示的就是最新数据


Load(True)  则会把你修改的先保存. 显示的会是你修改后的数据

--  作者:Bin
--  发布时间:2015/6/4 16:33:00
--  
没有修改的行.不会触发保存
--  作者:klg1011
--  发布时间:2015/6/4 16:44:00
--  

Load(Save)

Save:可选参数,逻辑型,同步前是否保存此行,默认为True,也就是保存。


是不是可以这样理解:load()实际上执行了两个方法 “保存”和“同步”。
在修改数据的情况下会触发这两个方法;
若未修改数据,只是触发了“同步”方法。

--  作者:Bin
--  发布时间:2015/6/4 16:46:00
--  
是的.

方法1

datatables("XX").load()


方法2

datatables("XX").load(True)

--  作者:lzzhx
--  发布时间:2015/6/4 21:46:00
--  
老师:      Load(Save)  Save:可选参数,逻辑型,同步前是否保存此行,默认为True,也就是保存。

既然 默认为True,那方法1   datatables("XX").load()     方法2     datatables("XX").load(True)    有什么不同?
--  作者:大红袍01
--  发布时间:2015/6/4 21:50:00
--  
 没有什么不同,一样的意思。