以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 自动增加行 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=119777) |
-- 作者:13775189031 -- 发布时间: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 "领料情况_预领余额"勾选后,自动生成没问题, 但是取消"领料情况_预领余额"勾选后,会把之前“分机组领料”和“不分机组领料”所生成的领料清单一并删除, 怎么弄?
|
-- 作者:有点甜 -- 发布时间: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 -- 发布时间:2018/6/1 8:47:00 -- 不行,删掉的还是全部! |
-- 作者:有点甜 -- 发布时间:2018/6/1 8:50:00 -- 以下是引用13775189031在2018/6/1 8:47:00的发言:
不行,删掉的还是全部!
认认真真看2楼代码,看懂2楼代码,分别加上红色字符,不可能重复删除的。 |
-- 作者:13775189031 -- 发布时间:2018/6/1 21:45:00 -- 按照2楼代码放进去也不行啊,仍然全部删除。 |
-- 作者:有点蓝 -- 发布时间:2018/6/1 22:00:00 -- 请上传实例测试 |
-- 作者:13775189031 -- 发布时间: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 得到的结果跟我预想的相反,“预领余额”取消后,删除的不是“余额+编号”,而是之前“分机组”勾选生成的两行;
|
-- 作者:有点甜 -- 发布时间:2018/6/4 14:47:00 -- DataTables("领料清单").DeleteFor("编号=\'余额&" & e.DataRow("编号") & "\'")
改成
DataTables("领料清单").DeleteFor("编号=\'余额" & e.DataRow("编号") & "\'") |
-- 作者:13775189031 -- 发布时间:2018/6/6 13:17:00 -- 好了好了!谢谢啊! |