以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 关于独占式编辑的问题? (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=133300) |
-- 作者:fengwenliuyan -- 发布时间:2019/4/11 15:35:00 -- 关于独占式编辑的问题? 关于独占式编辑的问题? 第1个问题: 同时以2个用户名为“开发者”、“意和入库员”的身份打开项目, 在以用户名为“开发者”的身份打开的项目中,在“仓管表窗口_入库订单表”中,新增一行,客户输入“66”, 在以用户名为“意和入库员”的身份打开的项目中,在“仓管表窗口_入库订单表”中,新增一行,客户输入“77”, 然后各自保存项目,再各自点击项目下方的“全显”按钮,会发现此时的“仓管表窗口_入库订单表”中,“客户”为66和77的“订单编号”是相同的,这样就失去了独占式编辑的意义了,求帮助? 第2个问题: 当用户名为“开发者”的身份打开的项目,点击“客户”名为2,进入编辑后,再点击“客户”名为3,进入编辑, 再以用户名为“意和入库员”的身份打开的项目,点击“客户”名为2,会发现,被锁行了, 除非是当用户名为“开发者”的身份打开的项目,点击“客户”名为2,进入编辑后,先保存数据,取消禁止编辑行,才可以, 求换行时,之前的行自动解锁“因独占式造成的锁行状态”, 求帮助? |
-- 作者:有点甜 -- 发布时间:2019/4/11 15:40:00 -- 1、订单编号的生成,参考
http://www.foxtable.com/webhelp/scr/1994.htm
2、关闭项目以后,重新打开项目测试 |
-- 作者:fengwenliuyan -- 发布时间:2019/4/11 17:53:00 -- 回复:(有点甜)1、订单编号的生成,参考?h... 这方法已经测试了,没有解决即时同步数据的问题,容易出现同行数据覆盖的现象, 要是能解决以下功能,应该就能完美了: 1、当前行进入编辑后,独占式启动,禁止其他用户编辑此行数据, 这一点,独占式编辑我已经会了。 2、换行后,也就是“光标闪烁”离开当前行后,自动保存当前行的数据? 3、单击表中的任一单元格,则同步当前表,且光标闪烁至当前单击的单元格位置? 这应该是最土最有效的办法了吧? 这代码应该怎么写,写在哪儿, 求帮助?
[此贴子已经被作者于2019/4/11 17:54:44编辑过]
|
-- 作者:有点甜 -- 发布时间:2019/4/11 17:58:00 -- 即时同步比较麻烦,需要引入openQQ处理,参考
http://www.foxtable.com/webhelp/scr/3006.htm
|
-- 作者:fengwenliuyan -- 发布时间:2019/4/11 18:11:00 -- 回复:(有点甜)即时同步比较麻烦,需要引入openQQ处... 不用用到openqq,就我上面提到的几个功能,只要转化成代码就能实现即时同步了啊? |
-- 作者:fengwenliuyan -- 发布时间:2019/4/11 18:57:00 -- 回复:(fengwenliuyan)回复:(有点甜)即时同步比较... 求帮助 |
-- 作者:fengwenliuyan -- 发布时间:2019/4/11 19:17:00 -- 回复:(fengwenliuyan)回复:(fengwenliuyan)回复... 刚才说的方法: 1、当前行进入编辑后,独占式启动,禁止其他用户编辑此行数据, 这一点,独占式编辑我已经会了。 2、换行后,也就是“光标闪烁”离开当前行后,自动保存当前行的数据? 3、单击表中的任一单元格,则同步当前表,且光标闪烁至当前单击的单元格位置? 针对性,刚弄的: 第2点的方法:BeforeSelChange事件: If e.OldRange.RowSel <> e.NewRange.RowSel If e.OldRange.RowSel >= 0 AndAlso e.OldRange.Rowsel < e.Table.Rows.Count Then Dim r As Row = e.Table.Rows(e.OldRange.Rowsel) r.Save() \'保存之 End If End If 这个第2点的方法,不知道,对应所有表(包括窗口表),应该怎么改? 第3点的方法:Click事件: If CurrentTable.DataTable.Name = "入库订单表" Then \'如果选择的主表是订单表 CurrentTable.DataTable.LoadFilter = "" CurrentTable.DataTable.Load End If 这个第3点的方法,一旦数据量大了,会影响运行速度,能否加一个判断,也就是同步表内“结单”列=false的行, 但是,这样同步表后,当前行会自动跳到首行了,不知道,要跳转回点选的单元格所在行,应该怎么做? 且,对应所有表(包括窗口表),应该怎么改? 我已经努力在尝试改了,求帮助,谢谢!?
[此贴子已经被作者于2019/4/11 19:43:07编辑过]
|
-- 作者:fengwenliuyan -- 发布时间:2019/4/11 20:37:00 -- 求帮助 |
-- 作者:fengwenliuyan -- 发布时间:2019/4/11 22:52:00 -- 刚看了几个小时的openQQ的帮助,发现一个问题,通过openqq实现的即时同步,并不是两个用户的项目中的表中数据行自动同步变化,而是通过内置的openqq聊天窗口发送推送窗口信息,提醒对方手动加载新的数据? 如果是这样的话,那意义就不大了? 求说明,是不是我哪里理解错了?
|
-- 作者:fengwenliuyan -- 发布时间:2019/4/12 10:04:00 -- 回复:(有点甜)即时同步比较麻烦,需要引入openQQ处... 求帮助 |