Foxtable(狐表)用户栏目专家坐堂 → datacolchanging 问题


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

主题:datacolchanging 问题

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


加好友 发短信
等级:七尾狐 帖子:1551 积分:10061 威望:0 精华:0 注册:2014/12/18 16:12:00
datacolchanging 问题  发帖心情 Post By:2021/2/5 16:21:00 [只看该作者]

If e.DataCol.Name = "备注" Then
    If e.DataRow("单价") = 0
        If e.NewValue Is Nothing Then 
            MessageBox.Show("请在单价一栏输入单价!", "提示")
            e.Cancel = True
        End If
    End If
End If

If e.DataCol.Name = "备注" Then
    If e.DataRow("单价") = 0
        If e.NewValue.contains("免费") = False Then
            MessageBox.Show("非免费商品请在单价一栏输入单价!", "提示")
            e.Cancel = True
        End If
    End If
End If

上面两段代码放在同一个事件 datacolchanging 里面,在执行的时候(清空“备注”栏),会出现如下警告:

.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2020.5.29.8
错误所在事件:表,采购单,DataColChanging
详细错误信息:
调用的目标发生了异常。
未设置对象变量或 With 块变量。

如果将那两段代码合并成如下:

If e.DataCol.Name = "备注" Then
    If e.DataRow("单价") = 0
        If e.NewValue Is Nothing orelse e.NewValue.contains("免费") = False Then 
            MessageBox.Show("请在单价一栏输入单价!", "提示")
            e.Cancel = True
        End If
    End If
End If

执行时(清空“备注”栏)也会出现同样的警告。请问是什么问题?

如果去掉第一段代码,只保留如下代码,执行时(清空“备注”栏)也会一样的警告:

If e.DataCol.Name = "备注" Then
    If e.DataRow("单价") = 0
        If e.NewValue.contains("免费") = False Then
            MessageBox.Show("非免费商品请在单价一栏输入单价!", "提示")
            e.Cancel = True
        End If
    End If
End If


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


加好友 发短信
等级:超级版主 帖子:110768 积分:563772 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/2/5 16:42:00 [只看该作者]

If e.DataCol.Name = "单价" Then
    If e.NewValue = nothing andalso (e.DataRow.isnull("备注") orelse e.DataRow("备注") like "*免费*" )
            MessageBox.Show("请在单价一栏输入单价!", "提示")
            e.Cancel = True
    End If
End If

 回到顶部