以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  这个表达式在事件中的代码怎么写呢?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=70468)

--  作者:hongyefor
--  发布时间:2015/6/22 20:23:00
--  这个表达式在事件中的代码怎么写呢?
iif(H is not null, H, iif(A=\'1\' and E=\'1\', B+C-D, iif(A=\'2\' and E=\'1\', (B+C-D)*2, iif(A=\'2\' and E=\'2\', (B+C-D)*3, iif(A=\'1\' and E=\'2\', F, null)))))
--  作者:y2287958
--  发布时间:2015/6/22 20:46:00
--  
在事件中用IF
参考IF的帮助说明

--  作者:大红袍
--  发布时间:2015/6/23 11:36:00
--  

 参考

 

http://www.foxtable.com/help/topics/1469.htm

 

 


--  作者:hongyefor
--  发布时间:2015/6/24 17:01:00
--  

帮我看看,怎么样加上"J“列保留两位小数点

 

Dim dr As DataRow=e.DataRow
Select Case e.DataCol.Name
    Case "g","A","B","C","D","E","F"
        If dr.IsNull("G") Then
            If dr("A")="1"then
                dr("J")=Round2(dr("C")*dr("D"),2)
            Else
                If dr("A")="2"then
                    If dr("D")="0"then
                        MessageBox.Show("这是非法运算请重新输入!","错误",MessageBoxButtons.OK,MessageBoxIcon.Error)
                        e.Cancel =True
                        dr("J")=""
                    Else
                        dr("J")=Round2(dr("C")/dr("D"),2)
                    End If
                Else
                    dr("J")=Round2(dr("C")+dr("D"),2)
                End If
            End If
        Else
            dr("J")=Round2(dr("G"),2)
        End If
End Select


--  作者:Bin
--  发布时间:2015/6/24 17:02:00
--  
Round2(dr("G"),2)  这个就是四舍五入保留2位小数啊
--  作者:hongyefor
--  发布时间:2015/6/24 17:04:00
--  

但是,如果1*1就不能保留2位小数点了啊

 


--  作者:Bin
--  发布时间:2015/6/24 17:09:00
--  
列属性,设置固定小数位数 并且设置小数位数为2
--  作者:hongyefor
--  发布时间:2015/6/24 17:11:00
--  
"J“列是文本列的图片点击可在新窗口打开查看
--  作者:Bin
--  发布时间:2015/6/24 17:12:00
--  
dr("J")=format(Round2(dr("G"),2),"0.00")
--  作者:hongyefor
--  发布时间:2015/6/24 17:12:00
--  
就是字符列的