Foxtable(狐表)用户栏目专家坐堂 → 请求简化代码


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

主题:请求简化代码

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


加好友 发短信
等级:小狐 帖子:390 积分:4650 威望:0 精华:0 注册:2016/4/30 10:41:00
请求简化代码  发帖心情 Post By:2021/11/7 17:18:00 [只看该作者]

 

Dim dr As DataRow = DataTables("货物来源").Find("编号 = '" & e.DataRow("编号") & "'")
If dr IsNot Nothing Then
    dr.Delete()
End  If
Dim drs As DataRow = DataTables("送货安排").Find("编号 = '" & e.DataRow("编号") & "'")
If drs IsNot Nothing Then
    drs.Delete()
End  If

 

请还让大师看一下这段代码如何简化?

[此贴子已经被作者于2021/11/7 18:31:28编辑过]

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


加好友 发短信
等级:超级版主 帖子:111412 积分:567130 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/11/7 20:40:00 [只看该作者]

如果只有2个表,没有什么可优化的了。

如果表多可以这样
Dim dr As DataRow
for each s as string in {"货物来源","送货安排"}
dr = DataTables(s).Find("编号 = '" & e.DataRow("编号") & "'")
If dr IsNot Nothing Then
    dr.Delete()
End  If
next

或者
Dim dr As DataRow
for each s as string in {"货物来源","送货安排"}
DataTables(s).deletefor("编号 = '" & e.DataRow("编号") & "'")
next


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


加好友 发短信
等级:小狐 帖子:390 积分:4650 威望:0 精华:0 注册:2016/4/30 10:41:00
  发帖心情 Post By:2021/11/7 20:49:00 [只看该作者]

谢谢

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


加好友 发短信 一级勋章
等级:超级版主 帖子:7258 积分:40773 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2021/11/7 22:20:00 [只看该作者]

Dim s as string = "编号 = '" & e.DataRow("编号") & "'"
DataTables("货物来源").deletefor(s)
DataTables("送货安排").deletefor(s)

方法多多!


 回到顶部