Foxtable(狐表)用户栏目专家坐堂 → 自动增加行


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

主题:自动增加行

美女呀,离线,留言给我吧!
13775189031
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:870 积分:6018 威望:0 精华:0 注册:2017/12/19 14:46:00
自动增加行  发帖心情 Post By:2018/5/31 18:05:00 [只看该作者]

Select Case e.DataCol.name
    Case "领料情况_预领余额"
        If e.newvalue = False Then
            DataTables("领料清单").DeleteFor("编号='" & e.DataRow("编号") & "'")
        Else
            If e.DataRow("领料情况_分机组") = True Then
                For i As Integer = 1 To 2
                    Dim ndr2 As DataRow = DataTables("领料清单").AddNew
                    ndr2("编号") = e.DataRow("编号")
                    ndr2("预算编号") = e.DataRow("预算编号")
                    ndr2("物资说明") = e.DataRow("物资说明")
                    ndr2("名称") = e.DataRow("物资名称")
                    ndr2("规格") = e.DataRow("规格")
                    ndr2("材质") = e.DataRow("材质")
                    ndr2("领料日期") = Date.today
                Next
            End If
        End If
        If e.newvalue = False Then
            DataTables("领料清单").DeleteFor("编号='" & e.DataRow("编号") & "'")
        Else
            If e.DataRow("领料情况_不分机组") = True Then
                Dim ndr3 As DataRow = DataTables("领料清单").AddNew
                ndr3("编号") = e.DataRow("编号")
                ndr3("预算编号") = e.DataRow("预算编号")
                ndr3("生产令号") = e.DataRow("生产令号")
                ndr3("项目名称") = e.DataRow("项目名称")
                ndr3("物资说明") = e.DataRow("物资说明")
                ndr3("名称") = e.DataRow("物资名称")
                ndr3("规格") = e.DataRow("规格")
                ndr3("材质") = e.DataRow("材质")
                ndr3("领料日期") = Date.today
            End If
        End If

"领料情况_预领余额"勾选后,自动生成没问题,
但是取消"领料情况_预领余额"勾选后,会把之前“分机组领料”和“不分机组领料”所生成的领料清单一并删除,
怎么弄?

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/5/31 18:11:00 [只看该作者]

修改红色代码

 

    Case "领料情况_预领余额"
        If e.newvalue = False Then
            DataTables("领料清单").DeleteFor("编号='余额" & e.DataRow("编号") & "'")
        Else
            If e.DataRow("领料情况_分机组") = True Then
                For i As Integer = 1 To 2
                    Dim ndr2 As DataRow = DataTables("领料清单").AddNew
                    ndr2("编号") = "余额" & e.DataRow("编号")
                    ndr2("预算编号") = e.DataRow("预算编号")
                    ndr2("物资说明") = e.DataRow("物资说明")
                    ndr2("名称") = e.DataRow("物资名称")
                    ndr2("规格") = e.DataRow("规格")
                    ndr2("材质") = e.DataRow("材质")
                    ndr2("领料日期") = Date.today
                Next
            End If
        End If

 回到顶部
美女呀,离线,留言给我吧!
13775189031
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:870 积分:6018 威望:0 精华:0 注册:2017/12/19 14:46:00
  发帖心情 Post By:2018/6/1 8:47:00 [只看该作者]

不行,删掉的还是全部!

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/6/1 8:50:00 [只看该作者]

以下是引用13775189031在2018/6/1 8:47:00的发言:
不行,删掉的还是全部!

 

认认真真看2楼代码,看懂2楼代码,分别加上红色字符,不可能重复删除的。


 回到顶部
美女呀,离线,留言给我吧!
13775189031
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:870 积分:6018 威望:0 精华:0 注册:2017/12/19 14:46:00
  发帖心情 Post By:2018/6/1 21:45:00 [只看该作者]

按照2楼代码放进去也不行啊,仍然全部删除。

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


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

请上传实例测试

 回到顶部
美女呀,离线,留言给我吧!
13775189031
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:870 积分:6018 威望:0 精华:0 注册:2017/12/19 14:46:00
  发帖心情 Post By:2018/6/4 12:42:00 [只看该作者]

Select Case e.DataCol.Name
    Case "领料情况_预领余额"
        If e.newvalue = False Then
            DataTables("领料清单").DeleteFor("编号='余额&" & e.DataRow("编号") & "'")
        Else
            If e.DataRow("领料情况_分机组") = True Then
                For i As Integer = 1 To 2
                    Dim ndr2 As DataRow = DataTables("领料清单").AddNew
                    ndr2("编号") ="余额" & e.DataRow("编号")
                    ndr2("预算编号") = e.DataRow("预算编号")
                    ndr2("物资说明") = e.DataRow("物资说明")
                    ndr2("名称") = e.DataRow("物资名称")
                    ndr2("规格") = e.DataRow("规格")
                    ndr2("材质") = e.DataRow("材质")
                    ndr2("领料日期") = Date.today
                Next
            End If
        End If


得到的结果跟我预想的相反,“预领余额”取消后,删除的不是“余额+编号”,而是之前“分机组”勾选生成的两行;

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/6/4 14:47:00 [只看该作者]

DataTables("领料清单").DeleteFor("编号='余额&" & e.DataRow("编号") & "'")

 

改成

 

DataTables("领料清单").DeleteFor("编号='余额" & e.DataRow("编号") & "'")


 回到顶部
美女呀,离线,留言给我吧!
13775189031
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:870 积分:6018 威望:0 精华:0 注册:2017/12/19 14:46:00
  发帖心情 Post By:2018/6/6 13:17:00 [只看该作者]

好了好了!谢谢啊!

 回到顶部