以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]这语句怎么编?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=59515)

--  作者:sulgz
--  发布时间:2014/11/5 17:55:00
--  [求助]这语句怎么编?
Select Case e.DataCol.Name 
    Case "第四列","第五列","第六列","第七列"
        Dim Filter As String = "[编码] = \'" & e.DataRow("编码") & "\'"
        Dim drs As List(Of DataRow) = DataTables("表A").Select(Filter)
        For Each dr As DataRow In drs

     If   IsNull(e.NewValue) Then        这句不会编写。(如果为空是就不替换)
          dr(e.DataCol.Name) = e.NewValue
       End If
  Next 
 End Select

--  作者:有点甜
--  发布时间:2014/11/5 18:02:00
--  

Select Case e.DataCol.Name
    Case "第四列","第五列","第六列","第七列"
       
        Dim Filter As String = "[编码] = \'" & e.DataRow("编码") & "\'"
        Dim drs As List(Of DataRow) = DataTables("表A").Select(Filter)
        For Each dr As DataRow In drs
            If dr.IsNull(e.DataCol.name) Then
                dr(e.DataCol.Name) = e.NewValue
            End If
        Next
End Select

 


--  作者:sulgz
--  发布时间:2014/11/5 19:39:00
--  
不行没反应,是用表B修改后的数据替换表A的数据。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测试.table

[此贴子已经被作者于2014-11-5 19:41:50编辑过]

--  作者:有点甜
--  发布时间:2014/11/5 19:45:00
--  

Select Case e.DataCol.Name
    Case "第四列","第五列","第六列","第七列"
       
        Dim Filter As String = "[编码] = \'" & e.DataRow("编码") & "\'"
        Dim drs As List(Of DataRow) = DataTables("表A").Select(Filter)
        For Each dr As DataRow In drs
            If dr.IsNull(e.DataCol.name) = False Then
                dr(e.DataCol.Name) = e.NewValue
            End If
        Next
End Select


--  作者:sulgz
--  发布时间:2014/11/5 19:56:00
--  
不行没反应,是用表B修改后的数据替换表A的数据,假如表B列的某行是空值就不替换。


--  作者:有点甜
--  发布时间:2014/11/5 19:57:00
--  
Select Case e.DataCol.Name
    Case "第四列","第五列","第六列","第七列"
        If e.NewValue <> Nothing Then
            Dim Filter As String = "[编码] = \'" & e.DataRow("编码") & "\'"
            Dim drs As List(Of DataRow) = DataTables("表A").Select(Filter)
            For Each dr As DataRow In drs
               
                dr(e.DataCol.Name) = e.NewValue
            Next
        End If
End Select

--  作者:sulgz
--  发布时间:2014/11/5 20:00:00
--  
非常感谢,非常强大图片点击可在新窗口打开查看图片点击可在新窗口打开查看
--  作者:sulgz
--  发布时间:2014/11/5 21:01:00
--  
请问那代码做到窗口去怎么修改?不用DataColChange事件,就是单纯两表间的数据处理。

[此贴子已经被作者于2014-11-5 21:06:19编辑过]

--  作者:有点甜
--  发布时间:2014/11/5 21:08:00
--  
Dim cols() As String = {"第四列","第五列","第六列","第七列"}
For Each dr As DataRow In DataTables("表B").DataRows
    For Each c As String In Cols
        If dr.IsNull(c) = False Then
            Dim Filter As String = "[编码] = \'" & dr("编码") & "\'"
            Dim drs As List(Of DataRow) = DataTables("表A").Select(Filter)
            For Each fdr As DataRow In drs  
                fdr(c) = dr(c)
            Next
        End If      
    Next
Next

--  作者:sulgz
--  发布时间:2014/11/5 21:31:00
--  
图片点击可在新窗口打开查看