Foxtable(狐表)用户栏目专家坐堂 → 请教条件筛选重置列问题


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

主题:请教条件筛选重置列问题

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


加好友 发短信
等级:幼狐 帖子:76 积分:735 威望:0 精华:0 注册:2020/12/20 14:02:00
请教条件筛选重置列问题  发帖心情 Post By:2023/8/25 11:23:00 [只看该作者]

DataColChanged事件代码如下

Dim RKRQ As DataRow = e.DataRow
    If RKRQ("已售") = False
        If e.NewValue Is Nothing Then
            e.DataRow("库存天数") =  Nothing
            e.DataRow("入库") =  False
            e.DataRow("资源匹配后到车日期") =  Nothing
        Else
            Dim KC As TimeSpan = Date.today - CDate(e.DataRow("入库日期"))
            e.DataRow("库存天数") = KC.TotalDays
            e.DataRow("入库") =  True
            Dim zx As DataRow = e.DataRow
            If zx("入库日期") >= zx("资源匹配日期") And zx.IsNull("资源匹配日期") = False Then
                zx("资源匹配后到车日期") = zx("入库日期")
            ElseIf zx("入库日期") < zx("资源匹配日期") And zx.IsNull("资源匹配日期") = False Then
                zx("资源匹配后到车日期") = zx("资源匹配日期")
            End If
        End If
重置列代码如下:
Dim Filter As String
    Filter = "已售 = false"
    DataTables("商品车库存基础表").DataCols("生产日期").RaiseDataColChanged(Filter)
    DataTables("商品车库存基础表").DataCols("入库日期").RaiseDataColChanged(Filter)


请教老师,按照条件重置列后,DataColChanged事件代码执行错误,执行过程不辩别“库存天数”是否为空,这是什么原因,该如何解决

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


加好友 发短信
等级:超级版主 帖子:110561 积分:562695 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/8/25 11:25:00 [只看该作者]

先看看:http://www.foxtable.com/webhelp/topics/1522.htm

然后说明一下这个代码想实现什么功能

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


加好友 发短信
等级:幼狐 帖子:76 积分:735 威望:0 精华:0 注册:2020/12/20 14:02:00
  发帖心情 Post By:2023/8/25 11:35:00 [只看该作者]

老师:
1- DataColChanged事件代码的目的是针对“入库日期”计算库存天数
2- 重置列代码的目的是每天重算库存天数

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


加好友 发短信
等级:超级版主 帖子:110561 积分:562695 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/8/25 11:54:00 [只看该作者]

Dim zx As DataRow = e.DataRow
Select
 Case e.DataCol.Name
    
Case "
入库日期"
   If zx("已售") = False
        If zx.isnull("入库日期") Then
            zx("库存天数") =  Nothing
            zx("入库") =  False
            zx("资源匹配后到车日期") =  Nothing
        Else
            Dim KC As TimeSpan = Date.today - CDate(zx("入库日期"))
            zx("库存天数") = KC.TotalDays
            zx("入库") =  True
            If zx("入库日期") >= zx("资源匹配日期") And zx.IsNull("资源匹配日期") = False Then
                zx("资源匹配后到车日期") = zx("入库日期")
            ElseIf zx("入库日期") < zx("资源匹配日期") And zx.IsNull("资源匹配日期") = False Then
                zx("资源匹配后到车日期") = zx("资源匹配日期")
            End If
        End If
End Select

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


加好友 发短信
等级:幼狐 帖子:76 积分:735 威望:0 精华:0 注册:2020/12/20 14:02:00
  发帖心情 Post By:2023/8/25 12:16:00 [只看该作者]

谢谢老师

 回到顶部