Foxtable(狐表)用户栏目专家坐堂 → 代码


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

主题:代码

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


加好友 发短信
等级:童狐 帖子:242 积分:2235 威望:0 精华:0 注册:2011/8/16 22:33:00
代码  发帖心情 Post By:2012/2/22 16:52:00 [只看该作者]


Select Case e.DataCol.Name
    Case "日期"
        If e.DataRow.IsNull("日期") Then
            e.DataRow("年度") = Nothing
        Else
            e.DataRow("年度") = cdate(e.DataRow("日期")).year
        End If
End Select

 

能不给这个代码加个条件了(当前行的 待收ID 这列为空值才可用)

 

 

Select Case e.DataCol.Name
    Case "日期"
        If e.DataRow.IsNull("日期") Then
            e.DataRow("年度") = Nothing
        Else
            e.DataRow("年度") = cdate(e.DataRow("日期")).year
        End If
End Select

 


If e.DataCol.Name = "待收ID" Then '发生变化的是产品编号吗?
    '在产品表找出该产品
    Dim dr As DataRow
    dr = DataTables("待收").Find("待收ID = " & "'" & e.DataRow("待收ID") & "'" )
    If dr IsNot Nothing '如果找到, 则设置各列内容
        e.DataRow("来往单位")= dr("来往单位")
        e.DataRow("年度")= dr("年度")
        e.DataRow("项目")= dr("项目")
        e.DataRow("项目明细")= dr("项目明细")

 

 

我在行变化事件同时写这2个代码,现在是可以用,但不知会不会有冲突。

 

[此贴子已经被作者于2012-2-22 17:00:47编辑过]

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/2/22 17:11:00 [只看该作者]

没有冲突,不过可以合并:

 

Select Case e.DataCol.Name
    Case "日期"
        If e.DataRow.IsNull("日期") Then
            e.DataRow("年度") = Nothing
        Else
            e.DataRow("年度") = cdate(e.DataRow("日期")).year
        End If
    Case "待收ID"
        Dim dr As DataRow
        dr = DataTables("待收").Find("待收ID = " & "'" & e.DataRow("待收ID") & "'" )
        If dr IsNot Nothing '如果找到, 则设置各列内容
            e.DataRow("来往单位")= dr("来往单位")
            e.DataRow("年度")= dr("年度")
            e.DataRow("项目")= dr("项目")
            e.DataRow("项目明细")= dr("项目明细")
        End If
End Select


 回到顶部