以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助] 表中的表达式列的局限性  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=93890)

--  作者:misamisali
--  发布时间:2016/12/9 15:55:00
--  [求助] 表中的表达式列的局限性
如图:
我已经设置了代码,根据不同的职务列,获取每位员工的 “岗位工资”, 另外“小计”列 =“基本工资”+绩效工资+保密工资 (我已通过表达式实现)
问题:但是部门为“测试中心”的“小计”列=基本工资”+保密工资,   请问这个要怎么另外设置?
图片点击可在新窗口打开查看此主题相关图片如下:测试岗位工资.png
图片点击可在新窗口打开查看
[此贴子已经被作者于2016/12/9 15:58:36编辑过]

--  作者:有点蓝
--  发布时间:2016/12/9 16:12:00
--  
iif(部门=\'测试中心\',基本工资+保密工资,基本工资+绩效工资+保密工资)
--  作者:misamisali
--  发布时间:2016/12/9 16:48:00
--  
表达式里面改?
--  作者:有点蓝
--  发布时间:2016/12/9 17:26:00
--  
当然
--  作者:misamisali
--  发布时间:2016/12/14 15:10:00
--  
如果我想改成datachanged事件,并且再添加一个条件, 职务不是“经理”
--  作者:有点蓝
--  发布时间:2016/12/14 15:29:00
--  
条件加在什么地方?
--  作者:misamisali
--  发布时间:2016/12/14 15:31:00
--  
条件加在这: iif(部门=\'测试中心\',且 职务不是‘经理’ 或者‘副经理’ IsNull([岗位工资_基础工资],0) + IsNull([岗位工资_保密工资],0),
IsNull([岗位工资_基础工资],0) + IsNull([岗位工资_保密工资],0) + IsNull([岗位工资_绩效工资],0))

条件加在红色背景这
[此贴子已经被作者于2016/12/14 16:01:28编辑过]

--  作者:有点蓝
--  发布时间:2016/12/14 16:26:00
--  
类似,具体列自己改改

Select Case e.DataCol.Name
    Case "部门","职务"
        
        If e.DataRow.IsNull("部门") OrElse e.DataRow.IsNull("职务")  Then
            e.DataRow("工资") = Nothing
        Else
            If e.DataRow("部门") = "测试中心" And e.DataRow("职务") <> "经理" And e.DataRow("职务") <> "副经理"
                e.DataRow("工资") = 0
            Else
                e.DataRow("工资") = e.DataRow("岗位工资_基础工资")+e.DataRow("岗位工资_保密工资")
            End If
            
        End If
End Select