业务对象 BO 中的过滤条件

Filter Condition in Business Object BO

我在 BO 中遇到过滤条件问题。 想象一下,我有这个数据库

编号 |描述

0 | None

1 |公司

2 |全部

在 BO 中我有一个过滤器,询问你想在哪里找到对象和 2 个选项:

"Company" 或 "All"。

如果我选择 "All" 那么我应该拥有所有带 "ID" 0,1,2 的数据,如果我选择 "Company" 只有带 [=40= 的数据] 1.

所以我做了这样的事情:

TABLE_NAME.ID <= (CASE WHEN @Prompt('where do you want to find the objects','A',{'Company', 'All'},mono,constrained,not_persistent,{'Company'}) = 'Company' THEN 1 ELSE 2 END)

当我选择 "All" 时,这个过滤器就可以了,因为我有所有小于 2 的 "ID",即 0,1,2。

但是当我的选项是company时它不起作用,因为它也显示了带有"ID" 0.

的数据

我应该有一些带有“=”和“<=”的组合

如果真的就那么简单,下面的方法就可以了:

TABLE_NAME.ID = 
    (CASE @Prompt('where do you want to find the objects',
            'A',
            {'Company', 'All'},
            mono,
            constrained,
            not_persistent,{'Company'}
            ) 
          WHEN 'Company' 
          THEN 1  
          WHEN 'All' 
          THEN TABLE_NAME.ID
          END)