Eric.Liang 发表于 2018-4-23 15:30:51

帮你打开活字格更神奇的功能:三十四,组合框项目查询显示所有数据

在活字格中,存在多种查询,包括表格的查询,组合框的项目查询等等。细心的同学会发现,为什么在表格查询中如果我的条件是ID="",表格显示的依旧是所有数据。这是活字格表格查询的一种机制,如果条件为空,则表示没有查询条件,查询出来是所有数据信息。因此,很多时候会发现,这种情况下我们通常会添加一个辅助单元格,用来判断查询条件中的单元格是否为空,如果为空,给它赋值-1,不为空,等于它本身,将查询条件指向辅助单元格,通过该辅助单元格我们可以实现自己想要的查询结果。


但是,又有同学发现同样的道理为什么应用到组合框的项目查询中,没有任何效果,查不出任何数据。这便是今天我要为大家分享的组合框的项目查询:
组合框的项目查询和表格查询不同,因为机制的不同,相同的查询条件展示的结果并不相同。那如果我想在选择“全部”的时候组合框显示所有数据这又该怎么实现呢?
接下来,我带领大家深入的了解下组合框的项目查询:

效果展示:


大家可以观察到,我在第一个组合框选择全部之后,第二个组合框中可以选择所有分类下的商品。第一个组合框选择特定分类时,第二个组合框也会显示该分类下的所有商品。请大家和我一起来看具体的操作步骤:

1.添加商品表。


2.添加组合框。此时你需要注意的是项目列表中,显示为"全部"其实值为空。



3.添加辅助单元格。用来获取目前商品表中ID最大的值。


4.添加辅助单元格,用来判断分类组合框是否为空(选择全部),如果为空,则该单元格等于商品表的最大ID,若不为空,则等于0。


5.其实上述所有的辅助单元格都是在给组合框的查询条件打基础。
查询条件中你会发现存在一个或者的关系,如果说我在分类组合框中选择了全部,则G4单元格等于空,所以U9单元格应该等于ODATA查询的最大ID。在组合查询条件中则会满足ID小于等于最大ID。这样不就是查询出来所有数据嘛!与此相反,如果我在分类中选择了某一个分类,则G4不为空,所以U9单元格等于0,字组合查询条件中则会满足第一个条件,不满足ID小于等于0,所以会显示出来特定分类下的商品。


如果你理解了上述的操作方面,那么你对组合框数据这块一定会更进一步。
具体的工程文件见附件。

hadwin 发表于 2018-5-3 09:59:56

如果前一项也是从数据生成的列表改怎么处理呢

Eric.Liang 发表于 2018-5-3 10:03:13

hadwin 发表于 2018-5-3 09:59
如果前一项也是从数据生成的列表改怎么处理呢

如果前一个组合框也是从数据库中获取数据,是否还存在全部选项呢?如果存在,依旧可以使用上述方式,如果不存在,那也就不存在选择全部后续组合框显示所有数据的问题了。

hadwin 发表于 2018-5-3 13:56:28

好的我试试,谢谢

Eric.Liang 发表于 2018-5-3 15:26:25

hadwin 发表于 2018-5-3 13:56
好的我试试,谢谢

:jy74a:

lwt 发表于 2018-5-4 14:27:36

表格查询条件如果是空就是全部,而控件不是。为什么不统一呢?要这样处理比较麻烦特殊是组合条件比较多的情况。

Eric.Liang 发表于 2018-5-8 10:45:36

lwt 发表于 2018-5-4 14:27
表格查询条件如果是空就是全部,而控件不是。为什么不统一呢?要这样处理比较麻烦特殊是组合条件比较多的情 ...

这个是因为开发功能的时候策略不一样,后续我们也会跟进这个问题,感谢反馈。
页: [1]
查看完整版本: 帮你打开活字格更神奇的功能:三十四,组合框项目查询显示所有数据