Foxtable(狐表)用户栏目专家坐堂 → 请问,以下代码帮忙把把关,谢谢!


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

主题:请问,以下代码帮忙把把关,谢谢!

帅哥哟,离线,有人找我吗?
fengwenliuyan
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:901 积分:8247 威望:0 精华:0 注册:2012/10/19 13:55:00
请问,以下代码帮忙把把关,谢谢!  发帖心情 Post By:2020/2/29 16:47:00 [只看该作者]

请问,以下代码帮忙把把关,谢谢!
需求:
数据库 {员工} 中的行的“用户名”列内容,不等于当前用户名的,则同步当前表,并返回至同步前的选定行:

粗略写了点:


图片点击可在新窗口打开查看此主题相关图片如下:11111111.png
图片点击可在新窗口打开查看


请问哪些需要改?

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107014 积分:544295 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/2/29 17:28:00 [只看该作者]

代码在什么表什么事件?代码文字发上来:http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=69632

这个需求看不懂,截图说明一下

 回到顶部
帅哥哟,离线,有人找我吗?
fengwenliuyan
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:901 积分:8247 威望:0 精华:0 注册:2012/10/19 13:55:00
回复:(有点蓝)代码在什么表什么事件?代码文字发上...  发帖心情 Post By:2020/2/29 17:44:00 [只看该作者]

Dim cmd As New SQLCommand
cmd.CommandText = "Select 用户名 F rom {员工} Where [_Identify] = " & e.Row("_Identify")
Dim nm As String = cmd.ExecuteScalar
If nm <> User.Name Then
syscmd.table.datatable("员工表").load()
table("员工表窗口_员工表").position = table("员工表窗口_员工表").rows.count - 1

代码是放在“员工表”表事件的startedit中,是对“独占式编辑之一”这个帮助实例的延伸,
“用户名”列是,除了“编辑者”列“用户名”列以外的任意列内容发生变化时,用户名列内容变为当前的登录用户名。
需求:
数据库 {员工} 中的行的“用户名”列内容,不等于当前登录的用户名时,则同步当前表(刷新指定窗口的指定表),并返回至同步之前的选定行位置?

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107014 积分:544295 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/2/29 17:56:00 [只看该作者]

这样很诡异,当用户准备编辑的时候,突然数据跳来跳去的。

Dim cmd As New SQLCommand
dim id as integer = e.Row("_Identify")
cmd.CommandText = "Select 用户名 F rom {员工} Where [_Identify] = " & id 
Dim nm As String = cmd.ExecuteScalar
If nm <> User.Name Then
e.table.datatable.load()
dim idx as integer = e.table.findrow("_Identify=" & id)
if idx > -1 then e.table.position = idx
end if


 回到顶部
帅哥哟,离线,有人找我吗?
fengwenliuyan
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:901 积分:8247 威望:0 精华:0 注册:2012/10/19 13:55:00
回复:(有点蓝)这样很诡异,当用户准备编辑的时候,...  发帖心情 Post By:2020/2/29 19:14:00 [只看该作者]

试了一下,的确是会跳来跳去,而且还是需要3次双击才能进行正常编辑。

那么,若是把返回选定行,改为同步当前表,并定位到当前表的最下方一行位置,应该怎么改?

Dim cmd As New SQLCommand
dim id as integer = e.Row("_Identify")
cmd.CommandText = "Select 用户名 F rom {员工} Where [_Identify] = " 
Dim nm As String = cmd.ExecuteScalar
If nm <> User.Name Then
e.table.datatable.load()
    DataTables("员工").LoadFilter = ""
    DataTables("员工").Load
    Tables("意和窗口_员工").Position = Tables("员工窗口_员工").Rows.Count - 1
end if

不知这样改有没有错漏?请指正,拜托了!

 回到顶部
帅哥哟,离线,有人找我吗?
fengwenliuyan
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:901 积分:8247 威望:0 精华:0 注册:2012/10/19 13:55:00
  发帖心情 Post By:2020/3/1 16:42:00 [只看该作者]

求帮助

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107014 积分:544295 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/3/1 23:08:00 [只看该作者]

一样会跳。合理的做法是选中那行编辑就只加载这行的数据。如果是并发操作,数据永远都无法保证每一秒都是最新的。

 回到顶部
帅哥哟,离线,有人找我吗?
fengwenliuyan
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:901 积分:8247 威望:0 精华:0 注册:2012/10/19 13:55:00
回复:(有点蓝)一样会跳。合理的做法是选中那行编辑...  发帖心情 Post By:2020/3/1 23:56:00 [只看该作者]

觉得您的做法应该是对的,那么,应该怎么改呢?
怎样改,才能做到只加载这行的数据呢?

[此贴子已经被作者于2020/3/1 23:56:27编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
fengwenliuyan
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:901 积分:8247 威望:0 精华:0 注册:2012/10/19 13:55:00
  发帖心情 Post By:2020/3/2 9:36:00 [只看该作者]

求帮助?

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107014 积分:544295 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/3/2 10:00:00 [只看该作者]

http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=146405&skin=0

 回到顶部