Foxtable(狐表)用户栏目专家坐堂 → 求助


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

主题:求助

美女呀,离线,留言给我吧!
13775189031
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:833 积分:5783 威望:0 精华:0 注册:2017/12/19 14:46:00
求助  发帖心情 Post By:2018/1/31 15:36:00 [只看该作者]

Dim dr As DataRow = e.DataRow
Select Case e.DataCol.Name
    Case "到货_第一批到货数量","到货_第二批到货数量","到货_第三批到货数量","到货_第四批到货数量"
        dr("到货数量") = dr("到货_第一批到货数量") + dr("到货_第二批到货数量") + dr("到货_第三批到货数量")+ dr("到货_第四批到货数量")
    Case "要求到货日期","数量"
        Dim tp As TimeSpan = CDate(e.DataRow("要求到货日期"))-Date.today
        If dr.IsNull("要求到货日期") Then
            dr("倒计时天数") = Nothing
        Else
            dr("倒计时天数") =tp.TotalDays
        End If
End Select

请教各位大神:
根据第一批、第二批、第三批、第四批到货数量相加得到到货数量
根据要求到货日期计算到今天位置倒计时天数
现在想要:当到货数量等于要求数量时,倒计时天数列显示“已完成”,到货数量不足时显示倒计时天数该怎么弄?


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


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

Dim dr As DataRow = e.DataRow
Select Case e.DataCol.Name
    Case "到货_第一批到货数量","到货_第二批到货数量","到货_第三批到货数量","到货_第四批到货数量"
        dr("到货数量") = dr("到货_第一批到货数量") + dr("到货_第二批到货数量") + dr("到货_第三批到货数量")+ dr("到货_第四批到货数量")
    Case "要求到货日期","数量"
        If dr("数量") = dr("到货数量") Then
            dr("倒计时天数") = "已完成"
        Else
            Dim tp As TimeSpan = CDate(e.DataRow("要求到货日期"))-Date.today
            If dr.IsNull("要求到货日期") Then
                dr("倒计时天数") = Nothing
            Else
                dr("倒计时天数") =tp.TotalDays
            End If
        End If
End Select


 回到顶部
美女呀,离线,留言给我吧!
13775189031
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:833 积分:5783 威望:0 精华:0 注册:2017/12/19 14:46:00
  发帖心情 Post By:2018/1/31 16:40:00 [只看该作者]

.NET Framework 版本:2.0.50727.8762
Foxtable 版本:2017.10.26.1
错误所在事件:表,外协详单,DataColChanged
详细错误信息:
调用的目标发生了异常。
输入字符串的格式不正确。不能在 倒计时天数 列中存储 <已完成>。所需类型是 Int32。
输入字符串的格式不正确。


 回到顶部
美女呀,离线,留言给我吧!
13775189031
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:833 积分:5783 威望:0 精华:0 注册:2017/12/19 14:46:00
  发帖心情 Post By:2018/1/31 16:41:00 [只看该作者]

是不是倒计时天数是整数,“已完成”是字符,所以有问题

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


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

以下是引用13775189031在2018/1/31 16:40:00的发言:
.NET Framework 版本:2.0.50727.8762
Foxtable 版本:2017.10.26.1
错误所在事件:表,外协详单,DataColChanged
详细错误信息:
调用的目标发生了异常。
输入字符串的格式不正确。不能在 倒计时天数 列中存储 <已完成>。所需类型是 Int32。
输入字符串的格式不正确。

 

1、你可以把列改成字符列;

 

2、你可以在drawcell事件写代码

 

Dim dr As Row = e.Row
Select Case e.col.Name
    Case "倒计时天数"
        If dr("数量") = dr("到货数量") Then
            e.text = "已完成"
        Else
            Dim tp As TimeSpan = CDate(dr("要求到货日期"))-Date.today
            If dr.IsNull("要求到货日期") Then
                e.text = Nothing
            Else
                e.text = tp.TotalDays
            End If
        End If
End Select

 


 回到顶部
美女呀,离线,留言给我吧!
13775189031
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:833 积分:5783 威望:0 精华:0 注册:2017/12/19 14:46:00
  发帖心情 Post By:2018/2/1 11:07:00 [只看该作者]

试了一下drawcell,现在空行也会显示“已完成”,以为是空行的数量和到货数量都返回零值,所以改成数量﹤到货数量+1,还是不行!

 回到顶部
美女呀,离线,留言给我吧!
13775189031
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:833 积分:5783 威望:0 精华:0 注册:2017/12/19 14:46:00
  发帖心情 Post By:2018/2/1 11:10:00 [只看该作者]

把到货数量进行了空值判断也不行图片点击可在新窗口打开查看

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


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

Dim dr As Row = e.Row
Select Case e.col.Name
    Case "倒计时天数"
        If dr("到货数量") <> nothing AndAlso dr("数量") = dr("到货数量") Then
            e.text = "已完成"
        Else
            If dr.IsNull("要求到货日期") Then
                e.text = Nothing
            Else

                Dim tp As TimeSpan = CDate(dr("要求到货日期"))-Date.today
                e.text = tp.TotalDays
            End If
        End If
End Select


 回到顶部
美女呀,离线,留言给我吧!
13775189031
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:833 积分:5783 威望:0 精华:0 注册:2017/12/19 14:46:00
  发帖心情 Post By:2018/2/1 12:04:00 [只看该作者]

谢谢!太感谢了!!图片点击可在新窗口打开查看图片点击可在新窗口打开查看

 回到顶部