找回密码
 立即注册

QQ登录

只需一步,快速开始

njhg001

金牌服务用户

66

主题

191

帖子

751

积分

金牌服务用户

积分
751

微信认证勋章

njhg001
金牌服务用户   /  发表于:2021-3-26 13:39  /   查看:6399  /  回复:14
本帖最后由 njhg001 于 2021-4-2 10:43 编辑

请教一下:
需要用数据表的多个字段作为查询条件,查询条件的选项是以下拉框形式实现,如下图:
数据表如下:



要实现的效果是:逐级选择,但是如果第N级没有选择的话,则N+1、N+2...级列出下拉框内容的时候就不需要考虑第N级的筛选条件

例如:
选择了某个大类,则亚类的下拉框就是该大类下的所有亚类,如果我没有选择大类,则亚类下拉框就是所有亚类;
选择了大类,没有选择亚类,则品名下拉框里面就是选中大类下的所有品名




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

14 个回复

倒序浏览
Timothy.Xu讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2021-3-26 16:46:27
沙发
本帖最后由 Timothy.Xu 于 2021-3-26 16:47 编辑

您好,麻烦您后面将帖子发布成悬赏帖子,这样会有很多的人帮您解决您的问题,然后您可以设置最佳答案,这样对于后来学习的人,和我们帮您回答问题的人,还是您以后自己找这个问题的答案,都比较方便的,感谢您的支持~

>>>>>>>>>>>>>>>>>>>>>>>>>>>>分割线>>>>>>>>>>>>>>>>>>>>>>>>>>


首先这里还是建议您把类别这种类型的字段放置在字典表中呢:



这样在后期维护的时候会大大降低维护的成本;

其次看到您的 demo,您应该也是理解活字格组合框查询的一个策略了,即当查询条件单元格为空时,不会查询出数据。那么您的需求,其实不需要用 ODATA 查询 ID,只需要让大类/亚类组合框为空时,让辅助单元格值为-1,否则为空:



对于品名的查询,只要同时对大类和亚雷应用类似的查询方式,再取交集就可以了:


demo:


由于我本机环境是 6.0.104.0 的最新版活字格设计器,如果您需要查看 demo,建议您在官网更新设计器版本~

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
小侠米
论坛元老   /  发表于:2021-4-1 17:22:03
板凳
本帖最后由 小侠米 于 2021-4-1 17:23 编辑
Timothy.Xu 发表于 2021-3-26 16:46
您好,麻烦您后面将帖子发布成悬赏帖子,这样会有很多的人帮您解决您的问题,然后您可以设置最佳答案,这样 ...


大佬,这个逻辑有点看不懂,能解析一下吗。

这里的理解是:两个条件是  或者 关系,然后第二个条件id就和两个值-1和空比较,正常情况不等于这两个值的都是全部亚类记录

那跟第一个条件不管它是什么值都应该是显示全部亚类记录才对;怎么这里大类有值就忽略了第二个条件(或者)记录了呢?
那里错了吗?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
Timothy.Xu讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2021-4-1 17:51:14
地板
小侠米 发表于 2021-4-1 17:22
大佬,这个逻辑有点看不懂,能解析一下吗。

这里的理解是:两个条件是  或者 关系,然后第二个条件i ...

如果 G3 有值的话:
大类字典表_ID 等于 G3 的值,此时筛选结果是当前大类的所有亚类;
ID 不等于 R3 的值(因为 G3 有值,所以 R3 的值为 null),根据上面介绍的组合框查询策略,筛选结果是 null。
给二者去并集,结果依然为当前大类的所有亚类。
回复 使用道具 举报
Tracy.Liu讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2021-4-1 17:53:56
5#
感谢大佬的支持!
如果您的问题已解决,请及时更新帖子的状态为“已处理”,并设置最佳答案给有帮助到你的回复;
如果您的问题还未解决,欢迎跟帖补充;
如果您有新的问题,也欢迎创建新的求助帖。
回复 使用道具 举报
小侠米
论坛元老   /  发表于:2021-4-2 09:51:55
6#
Timothy.Xu 发表于 2021-4-1 17:51
如果 G3 有值的话:
大类字典表_ID 等于 G3 的值,此时筛选结果是当前大类的所有亚类;
ID 不等于 R3  ...

大佬,这句话有出入
ID 不等于 R3 的值(因为 G3 有值,所以 R3 的值为 null),根据上面介绍的组合框查询策略,筛选结果是 null。
给二者去并集,结果依然为当前大类的所有亚类。



根据活字格策略,id 不等于NULL的结果是全部亚类记录啊
全部亚类记录 并集  当前大类的所有亚类,,,结果应该是全部亚类记录(其实就是全部记录),并不是上面提的  当前大类的所有亚类,,那里错了吗?

然后,上面大佬提到的组合框查询策略是啥意思?是不是问题的根本所在?



回复 使用道具 举报
Chelsey.Wang讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2021-4-2 10:25:50
7#
小侠米 发表于 2021-4-2 09:51
大佬,这句话有出入
ID 不等于 R3 的值(因为 G3 有值,所以 R3 的值为 null),根据上面介绍的组合框查 ...

是的,组合框和表格的查询策略是有一些区别的
这篇帖子中系统的介绍了这个问题,您可以参考一下:

帮你打开活字格更神奇的功能:三十四,组合框项目查询显示所有数据
https://gcdn.grapecity.com.cn/fo ... 8&fromuid=62376
(出处: 葡萄城产品技术社区)

希望可以解答您的疑惑哦
回复 使用道具 举报
njhg001
金牌服务用户   /  发表于:2021-4-2 10:43:11
8#
Chelsey.Wang 发表于 2021-4-2 10:25
是的,组合框和表格的查询策略是有一些区别的
这篇帖子中系统的介绍了这个问题,您可以参考一下:

我的需求和回答的场景不一样,所有数据来自于一个视图,没有大类ID和亚类ID,这些方法不太适用于我,不过问题还是解决了。谢谢!
回复 使用道具 举报
小侠米
论坛元老   /  发表于:2021-4-2 11:37:52
9#
Chelsey.Wang 发表于 2021-4-2 10:25
是的,组合框和表格的查询策略是有一些区别的
这篇帖子中系统的介绍了这个问题,您可以参考一下:

链接的案例到是可以看明白
但是跟这里的不一样,而且还是没解决如下的疑问:
id不等于-1  和id不等于空  结果不都是全部记录吗?或者 关系下 第一个条件要不要都可以,谁能痛快点给通俗易懂的解释
回复 使用道具 举报
Chelsey.Wang讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2021-4-2 11:49:34
10#
本帖最后由 Tracy.Liu 于 2021-4-2 14:32 编辑
小侠米 发表于 2021-4-2 11:37
链接的案例到是可以看明白
但是跟这里的不一样,而且还是没解决如下的疑问:
id不等于-1  和id不等于空 ...

组合框中id不等于引用单元格且该单元格为空是没有查询结果的,您可以自己在设计器中试一下哦~
如果没有第一个条件就没办法实现根据选择的大类进行筛选了

回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部