找回密码
 立即注册

QQ登录

只需一步,快速开始

Eric.Liang 讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2018-5-8 12:22  /   查看:18640  /  回复:13
本帖最后由 Eric.Liang 于 2018-10-19 11:37 编辑

近期有用户在问这样一个问题,怎样可以在子表中循环将ODATA获取的单价赋值给绑定字段。
场景是这样的,有一个订单表,销售订单表和商品价目表,订单表和销售订单表是主子表关系,在填写销售订单表的时候需要选择商品自动带出单价,并计算合计,因为物品的单价有可能随时间的变化而变化,但是已完成的订单的单价应该是录入订单时的原始单价,因此需要在订单详情表中对该单价进行保存。

这样的话在活字格中有一个问题,如果单价单元格使用ODATA公式通过商品ID获取对应的价格的话,是不能在这个单元格上去绑定子表的单价字段的。因为如果某一个单元格中既有ODATA公式又有绑定字段,页面在打开的时候活字格是没有办法判断应该怎么取值。

因此,添加和更改页面需要区分开来。
添加页面使用ODATA公式,点击添加按钮时将ODATA公式获取的单价循环赋值给相应的绑定字段。
更改页面只需要绑定数据库中的字段进行显示即可。



先给大家看看效果:
单价循环赋值.gif

在之前的章节中大家应该也都看到过,主子表设置完成后只需要添加更新主表的数据,子表数据会自动添加和更新。因此我们需要使用循环命令+表格设置命令将子表中每一行ODATA获取的单价赋值给子表的单价绑定字段,在提交主表数据后,子表的单价也会被提交。

具体操作如下:
针对数据表结构的设置在这里我就不做详细讲解了。如果不是很清楚的话你可以看看这里:http://gcdn.gcpowertools.com.cn/ ... 6orderby%3Ddateline

比较特殊的就是订单表的添加页面,如下图:
blob852110290.png

你会发现在里,我使用ROW(A1)函数去计算序号,有两个单价的单元格,ODATA获取的单价显示在页面上,数据绑定的单价列隐藏。

在选择完商品之后,自动计算单价。填写数据,自动计算合计。

当子表都填写完了就进入了最重要的环节。怎么把每一行ODATA获取的单价赋值给绑定单价字段。在这里,需要使用循环命令+表格设置命令。

1.循环命令,循环子表所有行。
blob169400633.png

2.表格命令。需要更新表格中的数据,更新记录为表格中满足特定条件的行,添加条件,序号字段的值等于当前循环到的该行的序号,这个地方必须使用唯一的字段(序号),确保每次循环获取的都是当前一行。循环结束后,则每个单价都被赋值到对应序号的单价绑定字段中。
blob69488219.png

3.数据表操作命令添加主表数据,同时自动添加子表数据。添加完成后执行浏览器页面跳转。

只要单价可以正常添加到数据库中,更改页面通过绑定字段获取的单价也就没有其他问题。

工程文件见附件。

循环 表格设置赋值单价.fgcc

530.14 KB, 下载次数: 1447

13 个回复

倒序浏览
feixianl
金牌服务用户   /  发表于:2018-5-8 12:52:06
沙发
学习了。。。
回复 使用道具 举报
Eric.Liang讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2018-5-8 13:32:49
板凳
回复 使用道具 举报
新小林
中级会员   /  发表于:2018-5-8 14:07:29
地板
赞。这个对批量给子表赋母表ID也是适用的
回复 使用道具 举报
Eric.Liang讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2018-5-8 14:11:57
5#
新小林 发表于 2018-5-8 14:07
赞。这个对批量给子表赋母表ID也是适用的

回复 使用道具 举报
504146555
金牌服务用户   /  发表于:2018-5-12 21:17:45
6#
先赞一个,下面要好好学习一下!
回复 使用道具 举报
Eric.Liang讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2018-5-14 10:26:31
7#
504146555 发表于 2018-5-12 21:17
先赞一个,下面要好好学习一下!

回复 使用道具 举报
settings0
高级会员   /  发表于:2018-7-10 09:10:53
8#
image.png69276732.png 我点击修改,为何后面的总金额不发生功能变化呢。
回复 使用道具 举报
Eric.Liang讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2018-7-10 15:49:34
9#
settings0 发表于 2018-7-10 09:10
我点击修改,为何后面的总金额不发生功能变化呢。

你把你的demo在求助中心发个帖子我看下。
回复 使用道具 举报
meteor
金牌服务用户   /  发表于:2018-7-15 15:38:47
10#
对这个案例场景有个疑问哦,就是要将添和修改页面分离,那么要是修改时还要继续添加明细产品呢?从感觉上,odata和绑定字段最好是能想办法共存会比较好
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部