以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  关于代码简化  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=117287)

--  作者:lungby
--  发布时间:2018/4/10 11:02:00
--  关于代码简化
现在在datacolchanged里面的代码如下: 

If e.DataCol.Name = "工程代号"
    Dim dr As DataRow
    Dim Filter As String
    dr = DataTables("委托台账").Find( "工程代号 = \'" & e.DataRow("工程代号") & "\'") 
    If dr IsNot Nothing Then 
        e.DataRow("委托单位") = dr("委托单位")
        e.DataRow("建设单位") = dr("建设单位")       
    Else
        \'否则清除区号和邮编两列的内容
        e.DataRow("委托单位") = Nothing
        e.DataRow("建设单位") = Nothing          
    End If
End If

数据行还有其他的列没有一一列举,想把所有的行都复制过来,但是有一列是编号列要求为空

怎么实现,谢谢~

--  作者:有点甜
--  发布时间:2018/4/10 11:07:00
--  
If e.DataCol.Name = "工程代号"
    Dim dr As DataRow
    Dim Filter As String
    dr = DataTables("委托台账").Find( "工程代号 = \'" & e.DataRow("工程代号") & "\'")
    If dr IsNot Nothing Then
        For Each dc As DataCol In e.DataTable.datacols
            If dc.name <> "编号" Then
                e.DataRow(dc.name) = dr(dc.name)
            End If
        Next
    Else
        For Each dc As DataCol In e.DataTable.datacols
            If dc.name <> "编号" Then
                e.DataRow(dc.name) = Nothing
            end if
        next
    End If
End If