以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [讨论]各位大侠们,来修改一下代吗好吗  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=42182)

--  作者:dycjj
--  发布时间:2013/11/5 23:16:00
--  [讨论]各位大侠们,来修改一下代吗好吗
          If e.DataCol.Name = "逻辑列名" AndAlso e.DataRow("逻辑列名") = True Then

            Dim dr As DataRow = DataTables("表B").AddNew
            
For Each dc As DataCol In DataTables("B").DataCols
            dr(dc.Name) = e.DataRow(dc.Name)
            
Next
          
End If

     为什么要修改呢,如果误操作点了这个逻辑列,那么数据是复制过去了,但是当我取消选择呢,复制过去的这条记录并不会消失,所以,那位大位帮修改一下,假如我取消选择,复制过去的这条记录也跟着消失。


--  作者:有点甜
--  发布时间:2013/11/5 23:20:00
--  
 参考帮助


--  作者:dycjj
--  发布时间:2013/11/5 23:41:00
--  
难道就不能在这段代吗上进行修改吗
--  作者:狐狸爸爸
--  发布时间:2013/11/6 8:09:00
--  

这个要看具体情况,一般类似这样:

 

If e.DataCol.Name = "逻辑列名" Then
    Dim dr As DataRow =Dim dr As DataRow = DataTables("表B").Find("产品编号 = \'" & e.DataRow("产品编号") & "\'")
    If e.DataRow("逻辑列名") = True Then
        If dr Is Nothing Then
            dr = DataTables("表B").AddNew()
            For Each dc As DataCol In DataTables("表B").DataCols
                dr(dc.Name) = e.DataRow(dc.Name)
            Next
        End If
    Else
        If dr IsNot Nothing Then
            dr.Delete()
        End If
    End If
End If


--  作者:dycjj
--  发布时间:2013/11/7 0:31:00
--  
还是狐爸给力啊