Foxtable(狐表)用户栏目专家坐堂 → [求助]能否用表事件编辑后台所有数据


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

主题:[求助]能否用表事件编辑后台所有数据

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


加好友 发短信
等级:幼狐 帖子:141 积分:904 威望:0 精华:0 注册:2016/8/4 10:50:00
[求助]能否用表事件编辑后台所有数据  发帖心情 Post By:2016/10/18 13:37:00 [只看该作者]

请问有办法在表事件上对后台所有数据进行编辑吗?例如我用的是分页加载,只加载20行数据,我在datacolchanged事件里面修改某列第一行的数据,在剩下所有行
(包括没有加载出来的行)的那列的值都与它相等,这可以实现吗?如果可以,把下面代码
Dim dr As DataRow = e.DataRow
Select Case e.DataCol.Name
    Case "F4376"
        dr("F5312")=dr("F4376").Year
End Select
修改一下

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111419 积分:567171 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/10/18 14:15:00 [只看该作者]

参考:http://www.foxtable.com/webhelp/scr/2898.htm

Dim dr As DataRow = e.DataRow
Select Case e.DataCol.Name
    Case "F4376"
        e.DataTable.SQLReplaceFor("F5312",dr("F4376").Year)
e.DataTable.ReplaceFor("F5312",dr("F4376").Year)
        'dr("F5312")=dr("F4376").Year
End Select
[此贴子已经被作者于2016/10/18 14:15:59编辑过]

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


加好友 发短信
等级:幼狐 帖子:141 积分:904 威望:0 精华:0 注册:2016/8/4 10:50:00
  发帖心情 Post By:2016/10/18 15:56:00 [只看该作者]

你改的代码可以把倒数第二行删除吗?倒数第二行好像是注释,前面有单引号。。。

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


加好友 发短信
等级:幼狐 帖子:141 积分:904 威望:0 精华:0 注册:2016/8/4 10:50:00
  发帖心情 Post By:2016/10/18 16:00:00 [只看该作者]

关键是把dr("F5312")=dr("F4376").Year
替换成 e.DataTable.SQLReplaceFor("F5312",dr("F4376").Year)
e.DataTable.ReplaceFor("F5312",dr("F4376").Year)
        'dr("F5312")=dr("F4376").Year
就可以了?

 回到顶部
帅哥,在线噢!
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111419 积分:567171 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/10/18 16:08:00 [只看该作者]

注释的可以删除

可不可以试过才知道

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


加好友 发短信
等级:幼狐 帖子:141 积分:904 威望:0 精华:0 注册:2016/8/4 10:50:00
  发帖心情 Post By:2016/10/19 18:53:00 [只看该作者]

beforesavedatarow事件
Dim dr As DataRow = DataTables("T246").AddNew
For Each dc As DataCol In DataTables("T246").DataCols
 
    dr("F4363") = e.DataRow("F391")
    dr("F4364") = e.DataRow("F392")
    dr("F4366") = e.DataRow("F394")
    dr("F4383") = e.DataRow("F395")
    dr("F4384") = e.DataRow("F396")
    dr("F4385") = e.DataRow("F397")
    dr("F4386") = e.DataRow("F398")
    dr("F4387") = e.DataRow("F399")
    dr("F4388") = e.DataRow("F400")
    dr("F4389") = e.DataRow("F401")
    dr("F4390") = e.DataRow("F402")
    dr("F4391") = e.DataRow("F403")
    dr("F4392") = e.DataRow("F404")
    dr("F4393") = e.DataRow("F405")
    dr("F4394") = e.DataRow("F406")
    dr("F4395") = e.DataRow("F407")
    dr("F4396") = e.DataRow("F408")
   ......
Next
怎么改这段代码,让它变成是编辑后台全部数据的代码?(ps:这是T28表的表事件)

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


加好友 发短信
等级:幼狐 帖子:141 积分:904 威望:0 精华:0 注册:2016/8/4 10:50:00
  发帖心情 Post By:2016/10/19 20:22:00 [只看该作者]

以下是引用qscwdvefb在2016/10/18 13:37:00的发言:
请问有办法在表事件上对后台所有数据进行编辑吗?例如我用的是分页加载,只加载20行数据,我在datacolchanged事件里面修改某列第一行的数据,在剩下所有行
(包括没有加载出来的行)的那列的值都与它相等,这可以实现吗?如果可以,把下面代码
Dim dr As DataRow = e.DataRow
Select Case e.DataCol.Name
    Case "F4376"
        dr("F5312")=dr("F4376").Year
End Select
修改一下
如果是改为每行dr("F5312")等于各自行的dr("F4376").Year呢?



 回到顶部
帅哥,在线噢!
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111419 积分:567171 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/10/19 20:56:00 [只看该作者]

回6楼,2个表的列没有说明对应关系,只能这样

回7楼,
Dim dr As DataRow = e.DataRow
Select Case e.DataCol.Name
    Case "F4376"
        e.DataTable.SQLReplaceFor("F5312","convert( nvarchar(4),[F4376],120)","",True)
End Select

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


加好友 发短信
等级:幼狐 帖子:141 积分:904 威望:0 精华:0 注册:2016/8/4 10:50:00
  发帖心情 Post By:2016/10/20 10:20:00 [只看该作者]

以下是引用有点蓝在2016/10/19 20:56:00的发言:
回6楼,2个表的列没有说明对应关系,只能这样

你说的对应关系具体是指什么?


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


加好友 发短信
等级:幼狐 帖子:141 积分:904 威望:0 精华:0 注册:2016/8/4 10:50:00
  发帖心情 Post By:2016/10/20 10:36:00 [只看该作者]

以下是引用有点蓝在2016/10/19 20:56:00的发言:
回6楼,2个表的列没有说明对应关系,只能这样

回7楼,
Dim dr As DataRow = e.DataRow
Select Case e.DataCol.Name
    Case "F4376"
        e.DataTable.SQLReplaceFor("F5312","convert( nvarchar(4),[F4376],120)","",True)
End Select


请问参数convert( nvarchar(4),[F4376],120)的含义是什么?


 回到顶部
总数 37 1 2 3 4 下一页