本帖最后由 Shawn.Liu 于 2024-1-18 09:16 编辑
最近有小伙伴反应在使用活字格的过程中想要选择数据之后,自动生成其他的相关数据,但是不知道具体应该怎么操作,你们的福利来了。针对某些小伙伴遇到的此类问题,我把数据关联联动总结成了4个方法。下面为大家一一讲解。
案例描述:存在人员信息表和邀请函表,人员信息包括姓名,地址,兴趣三个字段。在添加邀请函页面信息时,选择人员姓名自动带出对应的地址和兴趣。
效果展示:
方法1:OData公式
使用OData公式根据姓名直接获取人员信息表中的地址和兴趣信息。
具体的OData公式的使用详看活字格帮助手册:
手动书写:http://help.grapecity.com.cn/pages/viewpage.action?pageId=5972812
OData生成器:http://help.grapecity.com.cn/pages/viewpage.action?pageId=5972658
在上图过程中,我在OData公式外层添加了一层IFERROR公式,用于处理OData公式查询出错问题。
=IFERROR(ODATA("人员信息表?$select=地址&$filter=ID eq "&IF(ISBLANK(O6),"null",O6)),"")
方法2:下拉框 + 公式组合
通过下拉框和公式组合起来完成关联数据的显示。具体操作是选择人员时将需要联动的单元格(地址、兴趣)设为组合框,默认值用公式设置为选择人员单元格的值(存的是ID,显示为姓名)。
下拉框项目设置时需要注意,项目由数据库生成选择值字段均为ID,但是显示字段分别为地址和兴趣,这样页面显示中就会根据选择的人员。
后面两种操作需要新加一个隐藏表,隐藏表根据选择的人员动态查询该人员的行信息。
方法3:数据绑定
页面绑定表中的数据。将表里的字段拖至页面即可。
方法4:VLookup公式 + 列表
使用VLookup公式和隐藏列表组合显示联动数据。
在存在已经过滤过的表格之后,在地址和兴趣的单元格中使用VLookup公式。并用IFERROR函数处理查询出错的情况。
具体的VLookup公式的使用情况可参考Excel中的VLookup公式的使用。
需要注意:公式中查询第几列的这个参数在活字格中合并的单元格需要按照原始单元格的列数去计算。
针对方法1和方法4中的OData公式以及VLookup公式的优劣势,我之前也总结过一个帖子。
详见:http://gcdn.gcpowertools.com.cn/ ... 6orderby%3Ddateline
方法5:设置变量命令 + 设置单元格属性
前端命令支持设置变量命令-来自数据表和设置单元格属性命令,将命令绑定在组合框单元格上,当人员选择变更时执行。
小伙伴们可以根据自己实际需求去选择。
工程文件见附件。上述例子在邀请函的添加和编辑页面中。
|
|