Foxtable(狐表)用户栏目专家坐堂 → 各位高手,从字符串“天数”到类型“Double”的转换无效?请教请教


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

主题:各位高手,从字符串“天数”到类型“Double”的转换无效?请教请教

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


加好友 发短信
等级:童狐 帖子:249 积分:2238 威望:0 精华:0 注册:2016/10/29 14:17:00
各位高手,从字符串“天数”到类型“Double”的转换无效?请教请教  发帖心情 Post By:2021/3/31 10:34:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:qq图片20210331103023.png
图片点击可在新窗口打开查看

 

 

这是代码

 

Select Case e.DataCol.Name
    Case "开始时间" , "结束时间"
        If e.DataRow.IsNull("开始时间") And  e.DataRow.IsNull("结束时间") Then
            e.DataRow("天数") = Nothing
        Else
            Dim d1 As Date = e.DataRow("开始时间")
            Dim d2 As Date = e.DataRow("结束时间")
            If d1 > d2
                e.DataRow("天数") = 0
            Else
                Dim cnt As Integer = (d2 - d1).TotalDays
                For i As Integer = 1 To cnt
                    Dim d3 As Date = d1.adddays(i)
                    If d3.DayOfWeek = 0 OrElse d3.DayOfWeek = 6 Then '如果是星期天或者星期六
                        cnt = cnt - 1
                    End If
                Next
                e.DataRow("天数") = cnt + 1
            End If
        End If
    Case "是否半天"
        If e.NewValue = True Then
            Dim d1 As Date = e.DataRow("开始时间")
            Dim d2 As Date = e.DataRow("结束时间")
            If d1 > d2
                e.DataRow("天数") = 0
            Else
                Dim cnt As Integer = (d2 - d1).TotalDays
                For i As Integer = 1 To cnt
                    Dim d3 As Date = d1.adddays(i)
                    If d3.DayOfWeek = 0 OrElse d3.DayOfWeek = 6 Then '如果是星期天或者星期六
                        cnt = cnt - 1
                    End If
                Next
                e.DataRow("天数") = cnt + 1 - 0.5
            End If
        End If
End Select

Dim dr As DataRow = e.DataRow
Select Case e.DataCol.Name
    Case "正课","自习","天数"
        If e.DataRow ("请假类型") = "事假" Then
            dr("扣费") = dr("正课")*40*("天数") + dr("自习")*40*("天数")
            dr("扣分") = dr("天数")*0.5
        ElseIf e.DataRow ("请假类型") = "病假" Then
            dr("扣费") = dr("正课")*20*("天数") + dr("自习")*20*("天数")
            dr("扣分") = dr("天数")*0.2
        ElseIf e.DataRow ("请假类型") = "旷课" Then
            dr("扣费") = dr("正课")*160 + dr("自习")*160
        ElseIf e.DataRow ("请假类型") = "例会" Then
            dr("扣费") = dr("天数")*40
            dr("扣分") = dr("天数")*0.1
        ElseIf e.DataRow ("请假类型") = "迟到" Then
            dr("扣费") = dr("天数")*20
        ElseIf e.DataRow ("请假类型") =  "早退" Then
            dr("扣费") = dr("天数")*20
           
        Else
            e.DataRow("扣费") = 0
            e.DataRow("扣分") = 0
        End If
End Select


If e.DataCol.Name = "销假情况" Then '如果是已结帐列的内容变动
    If e.NewValue = True Then '而且变动后的值是True(已勾选)
        e.DataRow.Locked = True '那么锁定此行
    End If
End If


 


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


加好友 发短信
等级:超级版主 帖子:111393 积分:567029 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/3/31 10:57:00 [只看该作者]

dr("扣费") = dr("正课")*40*dr("天数") + dr("自习")*40*dr("天数")

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


加好友 发短信
等级:童狐 帖子:249 积分:2238 威望:0 精华:0 注册:2016/10/29 14:17:00
  发帖心情 Post By:2021/3/31 13:29:00 [只看该作者]

图片点击可在新窗口打开查看谢谢

 回到顶部