Foxtable(狐表)用户栏目专家坐堂 → [讨论] datacolchanged 时间问题


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

主题:[讨论] datacolchanged 时间问题

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


加好友 发短信
等级:六尾狐 帖子:1302 积分:10502 威望:0 精华:1 注册:2018/1/20 12:40:00
[讨论] datacolchanged 时间问题  发帖心情 Post By:2018/3/1 21:52:00 [显示全部帖子]

按照帮助文档上的方法成功了,但是我希望JSSJ这一列如果是空的时候才会写入当天的日期,否则日期不变。下面的代码问题在哪里呀

If e.DataCol.Name = "已结算" Then 
    If e.NewValue = True Then 
      If e.DataRow ("结算时间") Is Nothing Then
          e.DataRow ("结算时间") = Date.Today()
          e.DataRow.Locked = True 
        Else e.DataRow.Locked = True
      End If
Else
    e.NewValue = Nothing
    
End If
End If

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


加好友 发短信
等级:六尾狐 帖子:1302 积分:10502 威望:0 精华:1 注册:2018/1/20 12:40:00
  发帖心情 Post By:2018/3/1 22:02:00 [显示全部帖子]

以下是引用chnfo在2018/3/1 21:56:00的发言:

If e.DataCol.Name = "已结算" Then 
      If e.DataRow ("结算时间") Is Nothing Then
          e.DataRow ("结算时间") = Date.Today()
          e.DataRow.Locked = True 
        Else 
              e.DataRow.Locked = True
      End If
End If
[此贴子已经被作者于2018/3/1 21:58:51编辑过]


还是不行呀


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


加好友 发短信
等级:六尾狐 帖子:1302 积分:10502 威望:0 精华:1 注册:2018/1/20 12:40:00
  发帖心情 Post By:2018/3/1 22:10:00 [显示全部帖子]

还是不可以的。如果 吧这个去掉的话 If e.NewValue = True 。  就不能实现 这个逻辑咧是true的时候才锁定这一行了。而且结算时间那一列也每有反应

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


加好友 发短信
等级:六尾狐 帖子:1302 积分:10502 威望:0 精华:1 注册:2018/1/20 12:40:00
  发帖心情 Post By:2018/3/1 22:18:00 [显示全部帖子]

嗯没有结算就不赋值。原来的代码是这样的
If e.DataCol.Name = "JSZT" Then
    If e.NewValue = True Then
        
        e.DataRow ("JSSJ") = Date.Today()
        e.DataRow.Locked = True
        
        
    Else
        e.NewValue = Nothing
        
    End If
End If

这样会有个问题,当结算被勾选的时候,这一行就会被锁定,但是考虑到后面可能会有前面的数据修改,就需要解锁这一行,结算时间还是不变的,只是修改其他地方的数据,这样一来,按照刚才的代码,重新勾选结算之后,结算时间就又变成的修改的当天了。这就不对了。

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


加好友 发短信
等级:六尾狐 帖子:1302 积分:10502 威望:0 精华:1 注册:2018/1/20 12:40:00
  发帖心情 Post By:2018/3/1 22:24:00 [显示全部帖子]

太感谢了。原来要用  e.DataRow.IsNull("JSSJ") = True 

 回到顶部