Foxtable(狐表)用户栏目专家坐堂 → 关于在DataColChanged事件使用IsNumeric判断出错?


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

主题:关于在DataColChanged事件使用IsNumeric判断出错?

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


加好友 发短信 F6
等级:狐精 帖子:3036 积分:19223 威望:0 精华:2 注册:2008/9/1 7:50:00
关于在DataColChanged事件使用IsNumeric判断出错?  发帖心情 Post By:2018/8/6 17:35:00 [只看该作者]

1、原代码:

Dim dtn As String = e.DataTable.Name
Select Case dtn
    Case "McsEntDtl","McsOutWSDtl"
        Dim cl As DataCol = e.DataCol
        If cl.IsNumeric
           Dim cn As String = cl.Name
           Dim qsz,hsz As Double
           hsz = e.NewValue
           qsz = e.OldValue
           Functions.Execute("AutoSum",dtn,cn,qsz,hsz)         
        End If              
End Select

测试,在字段QTY上输入数值,错误提示按确定直接退出系统。各个数值型字段,除了QTY是整数,其余都是双精度的。

2、改了代码:

Dim dtn As String = e.DataTable.Name
Select Case dtn
    Case "McsEntDtl","McsOutWSDtl"
        Dim cl As DataCol = e.DataCol       
        Dim cn As String = cl.Name
        Select Case cn
            Case "QTY","NMWgt","GSWgt","AllWgt","GSMC","AllC","MyBillPay","GdBillPay"
                Dim qsz,hsz As Double
                hsz = e.NewValue
                qsz = e.OldValue
                Functions.Execute("AutoSum",dtn,cn,qsz,hsz)
        End Select        
        ' Case
       
End Select

数据测试没有任何问题

3、结论:整数型自动与这个IsNumeric“配合”得不是那么完好?!


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


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

你的情况肯定是死循环了,修改某列的时候同时会触发datacolchanged事件的。

 

不然你加上systemready http://www.foxtable.com/webhelp/scr/2218.htm

 


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


加好友 发短信 F6
等级:狐精 帖子:3036 积分:19223 威望:0 精华:2 注册:2008/9/1 7:50:00
  发帖心情 Post By:2018/8/6 18:23:00 [只看该作者]

我试试先

 回到顶部