Foxtable(狐表)用户栏目专家坐堂 → [求助] 表中的表达式列的局限性


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

主题:[求助] 表中的表达式列的局限性

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


加好友 发短信
等级:童狐 帖子:220 积分:1751 威望:0 精华:0 注册:2016/3/2 9:22:00
[求助] 表中的表达式列的局限性  发帖心情 Post By:2016/12/9 15:55:00 [只看该作者]

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

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


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

iif(部门='测试中心',基本工资+保密工资,基本工资+绩效工资+保密工资)

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


加好友 发短信
等级:童狐 帖子:220 积分:1751 威望:0 精华:0 注册:2016/3/2 9:22:00
  发帖心情 Post By:2016/12/9 16:48:00 [只看该作者]

表达式里面改?

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/12/9 17:26:00 [只看该作者]

当然

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


加好友 发短信
等级:童狐 帖子:220 积分:1751 威望:0 精华:0 注册:2016/3/2 9:22:00
  发帖心情 Post By:2016/12/14 15:10:00 [只看该作者]

如果我想改成datachanged事件,并且再添加一个条件, 职务不是“经理”

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/12/14 15:29:00 [只看该作者]

条件加在什么地方?

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


加好友 发短信
等级:童狐 帖子:220 积分:1751 威望:0 精华:0 注册:2016/3/2 9:22:00
  发帖心情 Post By:2016/12/14 15:31:00 [只看该作者]

条件加在这: iif(部门='测试中心',且 职务不是‘经理’ 或者‘副经理’ IsNull([岗位工资_基础工资],0) + IsNull([岗位工资_保密工资],0),
IsNull([岗位工资_基础工资],0) + IsNull([岗位工资_保密工资],0) + IsNull([岗位工资_绩效工资],0))

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

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By: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


 回到顶部