Foxtable(狐表)用户栏目专家坐堂 → 不包含列名代码出错


  共有2379人关注过本帖树形打印复制链接

主题:不包含列名代码出错

帅哥哟,离线,有人找我吗?
ZJZK2018
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:767 积分:6119 威望:0 精华:0 注册:2018/2/1 17:26:00
不包含列名代码出错  发帖心情 Post By:2018/7/3 14:42:00 [只看该作者]

老师你好:
我不想把这{"项目状态","审核","资料类别"}三列的数据复制到“开标记录”表中,下面红色代码如何调整?谢谢!

    Case "招标审核"
        Dim fdr As DataRow = DataTables("开标记录").Find(filt)
        Dim nms() As String = {"项目状态","审核","资料类别"}
        If fdr Is Nothing AndAlso e.NewValue = "仅标录" Then
            Dim ndr As Row = Tables("开标记录").AddNew()
            For Each dc As DataCol In DataTables("开标记录").DataCols
                For Each nm As String In nms
                    If e.DataTable.DataCols.Contains(dc.Name) AndAlso dc.Name.Contains(nm) = False Then
                        ndr(dc.Name) = dr(dc.Name)
                    End If
                Next
            Next
        Else
            If fdr IsNot Nothing Then
                fdr.Delete()
                Return
            End If
        End If

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/7/3 15:11:00 [只看该作者]

Case "招标审核"
    Dim fdr As DataRow = DataTables("开标记录").Find(filt)
    Dim nms() As String = {"项目状态","审核","资料类别"}
    If fdr Is Nothing AndAlso e.NewValue = "仅标录" Then
        Dim ndr As Row = Tables("开标记录").AddNew()
        For Each nm As String In nms
            If e.DataTable.DataCols.Contains(nm) Then
                ndr(nm) = dr(nm)
            End If
        Next
    Else
        If fdr IsNot Nothing Then
            fdr.Delete()
            Return
        End If
    End If

 回到顶部
帅哥哟,离线,有人找我吗?
ZJZK2018
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:767 积分:6119 威望:0 精华:0 注册:2018/2/1 17:26:00
  发帖心情 Post By:2018/7/3 15:20:00 [只看该作者]

有点甜老师:
你可能理解相反了,我需要的是
1、历遍二个表中有相同列名
2、在相同列名中除去{"项目状态","审核","资料类别"}这三列的列名

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/7/3 15:46:00 [只看该作者]

Case "招标审核"
    Dim fdr As DataRow = DataTables("开标记录").Find(filt)
    Dim nms() As String = {"项目状态","审核","资料类别"}
    If fdr Is Nothing AndAlso e.NewValue = "仅标录" Then
        Dim ndr As Row = Tables("开标记录").AddNew()
        For Each dc As DataCol In DataTables("开标记录").DataCols
            For Each nm As String In nms
                If e.DataTable.DataCols.Contains(dc.Name) AndAlso array.indexof(nms, dc.name) < 0 Then
                    ndr(dc.Name) = dr(dc.Name)
                End If
            Next
        Next
    Else
        If fdr IsNot Nothing Then
            fdr.Delete()
            Return
        End If
    End If

 回到顶部
帅哥哟,离线,有人找我吗?
ZJZK2018
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:767 积分:6119 威望:0 精华:0 注册:2018/2/1 17:26:00
  发帖心情 Post By:2018/7/3 16:04:00 [只看该作者]

有点甜老师:
下面这段代码看不懂,
array.indexof(nms, dc.name) < 0  中Array 是什么意思??

 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110813 积分:564003 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/7/3 20:20:00 [只看该作者]


 回到顶部