以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  负数怎么处理,下面的代码怎么不起作用?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=73343)

--  作者:jinzhengbe
--  发布时间:2015/8/17 17:44:00
--  负数怎么处理,下面的代码怎么不起作用?

Select Case e.DataCol.name
    Case "yishou","zore","tajin"
        If e.DataRow("yishou")  > e.DataRow("tajin")Then
            e.DataRow("zore")=e.DataRow("yishou") -e.DataRow("tajin")
        Else e.DataRow("zore")=0
        End If
End Select

 

 

我的想法是如果 yishou 大于 tajin   then

e.DataRow("zore")=e.DataRow("yishou") -e.DataRow("tajin")

反之

 

zore =0  (即 :z0re列不能为负数)


--  作者:大红袍
--  发布时间:2015/8/17 17:46:00
--  
代码应该没问题,重置列看看。
--  作者:大红袍
--  发布时间:2015/8/17 17:55:00
--  

tajin 是表达式列,修改此列数据的时候,不会触发datacolchanged事件代码。

 

你要去子表触发一下。

 

Select Case e.DataCol.name
    Case "shuliang", "tuihuo", "price"
        DataTables("xiaoshoudanhao").DataCols("yishou").RaiseDataColChanged("xiaoshoudan = \'" & e.DataRow("xiaoshoudanhao") & "\'")
End Select


--  作者:jinzhengbe
--  发布时间:2015/8/17 18:51:00
--  
大红袍 前辈真好,非常感谢~~!!!!