Foxtable(狐表)用户栏目专家坐堂 → [求助]调用目标发生了异常


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

主题:[求助]调用目标发生了异常

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


加好友 发短信
等级:幼狐 帖子:91 积分:732 威望:0 精华:0 注册:2016/3/8 11:20:00
[求助]调用目标发生了异常  发帖心情 Post By:2016/9/29 14:27:00 [只看该作者]

.NET Framework 版本:2.0.50727.5485
Foxtable 版本:2016.7.29.1
错误所在事件:表,目标,DataColChanged
详细错误信息:
调用的目标发生了异常。
从类型“Integer”到类型“Date”的转换无效。

Dim dt As Date = e.newvalue
Dim d As Integer
Select e.DataCol.name
    Case ("日期")
        If dt = Nothing Then
            e.DataRow("分摊天数")= Nothing
        Else
            d = Date.DaysInMonth (dt.Year,dt.Month)-dt.Day
            e.DataRow("分摊天数")= d
        End If
End Select




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


加好友 发短信
等级:超级版主 帖子:109463 积分:556971 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/9/29 14:43:00 [只看该作者]

代码不熟的严格按照帮助写,不要异想天开

Select e.DataCol.name
    Case ("日期")
        Dim dt As Date = e.newvalue
        If dt = Nothing Then
            e.DataRow("分摊天数")= Nothing
        Else
            
            Dim d As Integer
            d = Date.DaysInMonth (dt.Year,dt.Month)-dt.Day
            e.DataRow("分摊天数")= d
        End If
End Select

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


加好友 发短信
等级:幼狐 帖子:91 积分:732 威望:0 精华:0 注册:2016/3/8 11:20:00
  发帖心情 Post By:2016/9/29 15:16:00 [只看该作者]

老师变量不是提前在判断语句之前申明吗?此次怎么不可以

Dim dr As DataRow = e.DataRow 这里不是提前申明吗?
Select
Case e.DataCol.Name
   
Case "数量","单价","折扣"
       
If dr.IsNull("数量") OrElse dr.IsNull("单价") Then
            dr(
"金额") = Nothing
        Else

            dr(
"金额") = dr("数量") * dr("单价") * (1 - dr("折扣"))
       
End If
End
Select



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


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

要看场合e.DataRow是整行,e.newvalue是其中某列的值,放到前面可能是指任意列的值,不一定是日期

 回到顶部