Foxtable(狐表)用户栏目专家坐堂 → 多用户同步问题


  共有3406人关注过本帖树形打印复制链接

主题:多用户同步问题

帅哥哟,离线,有人找我吗?
广州信实翻译公司
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:17 积分:166 威望:0 精华:0 注册:2014/8/11 15:23:00
多用户同步问题  发帖心情 Post By:2014/9/11 12:48:00 [显示全部帖子]


我在一个表"笔译项目管理_详情表"里面的AfterEdit事件,设置:


...

DataTables("笔译项目管理_详情表").DataRows(1).Save()


DataTables("笔译项目管理_详情表").DataRows(1).Load()

...

但是在修改了某指定列第2行的数据后,在另一用户那,仍然没有更新数据。

感觉似乎是没有触发另一用户的Load方法,怎么解决呢?

 回到顶部
帅哥哟,离线,有人找我吗?
广州信实翻译公司
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:17 积分:166 威望:0 精华:0 注册:2014/8/11 15:23:00
  发帖心情 Post By:2014/9/11 13:06:00 [显示全部帖子]

我改成了在DataColChanged事件设置以上代码,还是不行

 回到顶部
帅哥哟,离线,有人找我吗?
广州信实翻译公司
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:17 积分:166 威望:0 精华:0 注册:2014/8/11 15:23:00
  发帖心情 Post By:2014/9/11 14:21:00 [显示全部帖子]

谢谢。

首先,你Load只是你这个客户端Load而已,和对方无关
确实,我当时是感觉这样

其次DataTables("笔译项目管理_详情表").DataRows(1).Load()  这个代码永远都在加载第二行
第二行只是做测试,之后会改

其实你只需要设计一个刷新按钮. 执行DataTables("笔译项目管理_详情表").Load 即可
问题:
1. 不可能总是人工点击按钮刷新吧?应该可以自动隔一段时间刷新吧?
2. 帮助文件似乎没有说清楚

Load

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

语法:

Load(Save)

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

例如重新加载订单表的第二行:

DataTables("订单").DataRows(1).Load()

如果要重新加载整个表,请执行DataTable的Load方法,那样效率会比逐行重新加载高很多。

如果将Save参数设为False,可以撤销对某一行做出的修改,例如撤销对订单表第二行的修改:

DataTables("订单").DataRows(1).Load(False)

如果只希望撤销修改,而不需要重新加载数据,请使用Reject方法。




 回到顶部
帅哥哟,离线,有人找我吗?
广州信实翻译公司
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:17 积分:166 威望:0 精华:0 注册:2014/8/11 15:23:00
  发帖心情 Post By:2014/9/11 14:40:00 [显示全部帖子]

计时器应该是个解决方案。但是,不是应该有个在某个用户编辑后,触动其他用户加载的方法么?这样,A用户没有编辑,B用户就不用加载了。而且,加载也只是加载被编辑的内容(也许只是一行两个的数据),而无需加载所有表(也许是几十几百个表)

 回到顶部
帅哥哟,离线,有人找我吗?
广州信实翻译公司
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:17 积分:166 威望:0 精华:0 注册:2014/8/11 15:23:00
  发帖心情 Post By:2014/9/11 15:18:00 [显示全部帖子]

计时器其实是很麻烦的。不能实现这种:某个用户编辑后,才触动其他用户加载??

 回到顶部
帅哥哟,离线,有人找我吗?
广州信实翻译公司
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:17 积分:166 威望:0 精华:0 注册:2014/8/11 15:23:00
  发帖心情 Post By:2014/9/11 15:21:00 [显示全部帖子]

那帮助文件上的

Load

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


似乎是没有意义的——其他人已经修改了,也无法判断,也不能加载该修改过的行,只能定时加载整个表,而且因为无法判断哪个表有修改,就只能加载所有表(可能是几十几百)?难道不能解决这个问题?


 回到顶部
帅哥哟,离线,有人找我吗?
广州信实翻译公司
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:17 积分:166 威望:0 精华:0 注册:2014/8/11 15:23:00
  发帖心情 Post By:2014/9/11 15:36:00 [显示全部帖子]

以下是引用有点甜在2014-9-11 15:25:00的发言:

 回复,楼上,暂时没有这个功能。不过你可以做一下。

 

 1、做一个加载需求的表;

 

 2、修改一列,保存,就往表里写入数据;

 

 3、每个客户端,检测这个表是否有需要加载表的需求,实现对应的加载表数据。


 回到顶部
帅哥哟,离线,有人找我吗?
广州信实翻译公司
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:17 积分:166 威望:0 精华:0 注册:2014/8/11 15:23:00
  发帖心情 Post By:2014/9/11 15:37:00 [显示全部帖子]

那在哪里“检测这个表是否有需要加载表的需求”?还是计时器里面吗?

 回到顶部
帅哥哟,离线,有人找我吗?
广州信实翻译公司
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:17 积分:166 威望:0 精华:0 注册:2014/8/11 15:23:00
  发帖心情 Post By:2014/9/11 16:32:00 [显示全部帖子]

好吧。。建议你们增加这个功能。从用户角度来说,应该是需要其他用户加载修改内容的。

 回到顶部