Foxtable(狐表)用户栏目专家坐堂 → 新增加一个判断,查找出来结果=0,就 = nothing


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

主题:新增加一个判断,查找出来结果=0,就 = nothing

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


加好友 发短信
等级:一尾狐 帖子:472 积分:4025 威望:0 精华:0 注册:2018/5/13 15:18:00
新增加一个判断,查找出来结果=0,就 = nothing  发帖心情 Post By:2020/6/5 15:22:00 [只看该作者]

If e.DataCol.Name = "姓名" Then
    Dim nms() As String = {"教师ID","人员类别","岗位系数","提一个月"}
    If e.NewValue Is Nothing Then
        For Each nm As String In nms
            e.DataRow(nm) = Nothing
        Next
    Else
        Dim dr0 As DataRow
        dr0 = DataTables("设置").Find("[姓名] = '" & e.NewValue & "'")
        If dr0 IsNot Nothing
            For Each nm As String In nms
                e.DataRow(nm) = dr0(nm)
            Next
        End If
    End If
End If

在这段代码中,我新增一个判断,当dr查出来的结果 "= 0 "时,我想让“e.NewValue” 为空。
应该怎样加呢

[此贴子已经被作者于2020/6/5 15:22:30编辑过]

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


加好友 发短信
等级:超级版主 帖子:107739 积分:548028 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/6/5 15:34:00 [只看该作者]

        If dr0 IsNot Nothing
            For Each nm As String In nms
                e.DataRow(nm) = dr0(nm)
            Next
else
e.DataRow(e.DataCol.Name) = nothing
        End If

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


加好友 发短信
等级:一尾狐 帖子:472 积分:4025 威望:0 精华:0 注册:2018/5/13 15:18:00
  发帖心情 Post By:2020/6/5 15:53:00 [只看该作者]

这样应该是不行的

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


加好友 发短信
等级:一尾狐 帖子:472 积分:4025 威望:0 精华:0 注册:2018/5/13 15:18:00
  发帖心情 Post By:2020/6/5 15:55:00 [只看该作者]

Dim dr0 As DataRow
        dr0 = DataTables("设置").Find("[姓名] = '" & e.NewValue & "'")
        If dr0 IsNot Nothing
            For Each nm As String In nms
                e.DataRow(nm) = dr0(nm)
            Next
        End If

在这段代码中,查找出来可能是0,有可能是其他值,如果为0,就让e.NewValue =nothing ,如果是其他值,e.DataRow(nm) = dr0(nm)
你上面的代码,我试了,应该不行的。

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


加好友 发短信
等级:超级版主 帖子:107739 积分:548028 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/6/5 15:57:00 [只看该作者]

截图说明一下,什么地方为0?

 回到顶部
帅哥哟,离线,有人找我吗?
天宇科技
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:472 积分:4025 威望:0 精华:0 注册:2018/5/13 15:18:00
  发帖心情 Post By:2020/6/5 16:04:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:11.png
图片点击可在新窗口打开查看
表格中为0的地方,就是在另一张中,没有数值,是空值,所以在这我查找出为的是0值。我想把0清除掉。不让他显示0值,不好看。下面这段代码和上面的是同样的原理。
If e.DataCol.Name = "姓名" Then
    Dim nms() As String = {"德","能","勤","教学常规","奖励加分"}
    If e.NewValue Is Nothing Then
        For Each nm As String In nms
            e.DataRow(nm) = Nothing
        Next
    Else
        Dim dr6 As DataRow
        dr6 = DataTables("德能勤常规奖励").Find("[姓名] = '" & e.NewValue & "'")
        If dr6 IsNot Nothing
            For Each nm As String In nms
                e.DataRow(nm) = dr6(nm)
            Next
        End If
    End If
End If




 回到顶部
帅哥哟,离线,有人找我吗?
天宇科技
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:472 积分:4025 威望:0 精华:0 注册:2018/5/13 15:18:00
  发帖心情 Post By:2020/6/5 16:07:00 [只看该作者]

程版主帮我解决了。
If e.DataCol.Name = "姓名" Then
    Dim nms() As String = {"教师ID","人员类别","岗位系数","提一个月"}
    If e.NewValue IsNot Nothing Then
        Dim dr0 As DataRow
        dr0 = DataTables("设置").Find("[姓名] = '" & e.NewValue & "'")
        If dr0 IsNot Nothing
            For Each nm As String In nms
                If nm = "提一个月"
                    If dr0(nm) = 0
                        e.DataRow(nm) =  Nothing
                    Else
                        e.DataRow(nm) = dr0(nm)
                    End If
                Else
                    e.DataRow(nm) = dr0(nm)
                End If
            Next
        End If
    End If
End If
[此贴子已经被作者于2020/6/5 16:07:17编辑过]

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


加好友 发短信 一级勋章
等级:超级版主 帖子:7237 积分:40614 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2020/6/5 16:11:00 [只看该作者]

If e.DataCol.Name = "姓名" Then
    Dim nms() As String = {"教师ID","人员类别","岗位系数","提一个月"}
    If e.NewValue Is Nothing Then
        For Each nm As String In nms
            e.DataRow(nm) = Nothing
        Next
    Else
        Dim dr0 As DataRow
        dr0 = DataTables("设置").Find("[姓名] = '" & e.NewValue & "'")
        If dr0 IsNot Nothing
            For Each nm As String In nms
                If nm = "提一个月"
                    If dr0(nm) = 0
                        e.DataRow(nm) =  Nothing
                    Else
                        e.DataRow(nm) = dr0(nm)
                    End If
                Else
                    e.DataRow(nm) = dr0(nm)
                End If
            Next
        End If
    End If
End If

 回到顶部