以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  代码  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=67348)

--  作者:wangyinming
--  发布时间:2015/4/22 17:21:00
--  代码


我想要的意思是 
原本新增行时,是复制上一条数据的内容。
当管理号码发生变化的话,管理号码1和生产数清零。
当管理号码1发生变化的话,生产数清零。
但是使用了以下代码后,新增行时,生产数直接清零了。
高手请确认看看代码有何问题?
Select Case e.DataCol.Name
    Case "管理号码"
        If e.DataCol.Name = "管理号码" Then  \'发生变化的是管理号码吗?(
            e.DataRow("管理号码1")= Nothing \'管理号码1清空
            e.DataRow("生产数")= Nothing  \'生产数清空
        End If
   End Select

        Select Case e.DataCol.Name
            Case "管理号码1"
                If e.DataCol.Name = "管理号码1" Then  \'发生变化的是管理号码吗?(
                    e.DataRow("生产数")= Nothing  \'生产数清空
                End If
        End Select
--  作者:Bin
--  发布时间:2015/4/22 17:28:00
--  
你在DataROWAdED 事件 复制上一行的数据啊.或者直接用克隆行
--  作者:wangyinming
--  发布时间:2015/4/22 17:31:00
--  
我已经复制好数据了,但是在输入指定列发生变化时,清空指定列。请Ben再看看??
--  作者:Bin
--  发布时间:2015/4/22 17:33:00
--  
你赋值的时候,触发了DataColChanged

你要在你新增行事件的前后加入暂停事件代码


--  作者:wangyinming
--  发布时间:2015/4/22 17:33:00
--  
复制指定列的代码已写完,请确认

DataRowAdding


If e.DataTable.DataRows.Count = 0 Then \'如果是一个空表
    Return \'那么返回
End If

e.DataRow("工程") = Tables("二次加硫").Rows(Tables("二次加硫").Count - 1)("工程")
e.DataRow("作业日期") = Tables("二次加硫").Rows(Tables("二次加硫").Count - 1)("作业日期")
e.DataRow("管理号码") = Tables("二次加硫").Rows(Tables("二次加硫").Count - 1)("管理号码")
e.DataRow("加硫炉号") = Tables("二次加硫").Rows(Tables("二次加硫").Count - 1)("加硫炉号")
e.DataRow("生产数") = Tables("二次加硫").Rows(Tables("二次加硫").Count - 1)("生产数")
e.DataRow("管理号码1") = Tables("二次加硫").Rows(Tables("二次加硫").Count - 1)("管理号码1")

--  作者:狐狸爸爸
--  发布时间:2015/4/22 17:35:00
--  
If e.DataTable.DataRows.Count = 0 Then \'如果是一个空表
    Return \'那么返回
End If

e.DataRow("工程") = Tables("二次加硫").Rows(Tables("二次加硫").Count - 1)("工程")
e.DataRow("作业日期") = Tables("二次加硫").Rows(Tables("二次加硫").Count - 1)("作业日期")
e.DataRow("管理号码") = Tables("二次加硫").Rows(Tables("二次加硫").Count - 1)("管理号码")
e.DataRow("管理号码1") = Tables("二次加硫").Rows(Tables("二次加硫").Count - 1)("管理号码1")
e.DataRow("加硫炉号") = Tables("二次加硫").Rows(Tables("二次加硫").Count - 1)("加硫炉号")
e.DataRow("生产数") = Tables("二次加硫").Rows(Tables("二次加硫").Count - 1)("生产数")