左栏'); } else{ document.write('关闭左栏'); } }catch(e){alert(e);}
Foxtable(狐表)用户栏目专家坐堂 → 如何取得多文件列修改前的值(lines)


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

主题:如何取得多文件列修改前的值(lines)

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


加好友 发短信
等级:五尾狐 帖子:1022 积分:7598 威望:0 精华:0 注册:2010/4/12 12:23:00
如何取得多文件列修改前的值(lines)  发帖心情 Post By:2021/6/22 16:58:00 [只看该作者]

表中有多文件列(“图标名称”),如果手动修改(编辑)了文件列表,如何获得修改前的文件列表?谢谢!


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


加好友 发短信
等级:超级版主 帖子:111427 积分:567211 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/6/22 17:09:00 [只看该作者]

datacolchanged事件里可以使用e.oldvalue获取

dim lst as new list(of string)
lst.addrange(e.oldvalue.replace(vbcr,"").split(vblf))

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


加好友 发短信
等级:五尾狐 帖子:1022 积分:7598 威望:0 精华:0 注册:2010/4/12 12:23:00
  发帖心情 Post By:2021/6/22 17:14:00 [只看该作者]

因为有通过代码修改情况,如果使用者有通过非代码的方式(直接修改)修改列中的内容。如何办的问题。
    Dim lst As List(of String) = e.Row.DataRow.Lines("图标名称") '''newvalue的情况。
    Dim fls As List(of String) = e.Row.DataRow.OriginalValue("图标名称")

修改前文件列表,应该不是这样的。

事件放在:afteredit中。

[此贴子已经被作者于2021/6/22 17:14:15编辑过]

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


加好友 发短信
等级:超级版主 帖子:111427 积分:567211 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/6/22 17:25:00 [只看该作者]

到datacolchanged事件处理即可,不管通过代码修改还是直接编辑都会触发的

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


加好友 发短信
等级:五尾狐 帖子:1022 积分:7598 威望:0 精华:0 注册:2010/4/12 12:23:00
  发帖心情 Post By:2021/6/22 17:30:00 [只看该作者]

还是有办法,就是 Dim fls As string = e.Row.DataRow.OriginalValue("图标名称") 通过vbcrlf来split,就是有点麻烦


 回到顶部