找回密码
 立即注册

QQ登录

只需一步,快速开始

Eric.Liang 讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2018-4-23 15:30  /   查看:9462  /  回复:6
在活字格中,存在多种查询,包括表格的查询,组合框的项目查询等等。细心的同学会发现,为什么在表格查询中如果我的条件是ID="",表格显示的依旧是所有数据。这是活字格表格查询的一种机制,如果条件为空,则表示没有查询条件,查询出来是所有数据信息。因此,很多时候会发现,这种情况下我们通常会添加一个辅助单元格,用来判断查询条件中的单元格是否为空,如果为空,给它赋值-1,不为空,等于它本身,将查询条件指向辅助单元格,通过该辅助单元格我们可以实现自己想要的查询结果。


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

效果展示:
组合框项目查询效果.gif

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

1.添加商品表。
blob944741516.png

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

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

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

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

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

组合框查询全部.fgcc

519.56 KB, 下载次数: 465

6 个回复

倒序浏览
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
5#
hadwin 发表于 2018-5-3 13:56
好的我试试,谢谢

回复 使用道具 举报
lwt悬赏达人认证 活字格认证
论坛元老   /  发表于:2018-5-4 14:27:36
6#
表格查询条件如果是空就是全部,而控件不是。为什么不统一呢?要这样处理比较麻烦特殊是组合条件比较多的情况。
回复 使用道具 举报
Eric.Liang讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2018-5-8 10:45:36
7#
lwt 发表于 2018-5-4 14:27
表格查询条件如果是空就是全部,而控件不是。为什么不统一呢?要这样处理比较麻烦特殊是组合条件比较多的情 ...

这个是因为开发功能的时候策略不一样,后续我们也会跟进这个问题,感谢反馈。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部