1.描述
增加参数时,如果参数类型为数组类型并且是表格数据,在编辑数组项时,您可以选择是否只发送变更的数据,变更包括添加、修改和删除。勾选后,您可以根据您的需要设置只发送添加、修改或删除的数据。
此功能多用于主从表的从表中,只有当表格开启数据松绑定时,您才可以使用只发送变更数据功能。
2.只发送变更的数据
编辑数组参数的数组项时,勾选“只发送变更数据”后,您可以设置主键列。这里填写的主键会在设计命令时作为参数使用。我们将用它来确定编辑或删除的项,会更新数据表中哪一行数据。
您需要确保这里填写的主键与被更新的数据表的主键保持一致,且区分大小写。如果有多主键,您可以使用逗号“,”来拼接主键。
图1 只发送变更数据
例如,创建一个服务端命令,名称为“更新订单详情”,然后设置一个数组类型的参数“订单详情变更”,和一个基础类型的参数“订单ID”。
图2 增加数组类型的参数
单击数组类型的参数后的
,在弹出的编辑数组项对话框中,单击“添加数组项”,编辑数组项的名称,并勾选“只发送变更数据”,主键列为ID列。图3 编辑数组项
然后编辑服务端命令的命令。单击“编辑命令”超链接,弹出编辑服务端命令对话框,选择循环命令。
单击
指定循环的数组,在弹出对话框的参数列表中,您可以看到除订单ID外,还有三个参数:订单详情变更.AddRows、订单详情变更.EditRows、订单详情变更.DeleteRows,也就是增加的数组类型的参数“订单详情变更”后加“.AddRows”、“.EditRows”、“.DeleteRows”。- 订单详情变更.AddRows:插入这个参数时,会只发送添加的数据;
- 订单详情变更.EditRows:插入这个参数时,会只发送修改的数据;
- 订单详情变更.DeleteRows:插入这个参数时,会只发送删除的数据。
图4 参数列表
在页面上选择一个单元格区域,设置为按钮。编辑按钮的命令,选择命令为调用服务端命令,服务端命令选择循环命令。
图6 调用服务端命令
下面将分别应用 订单详情变更.AddRows、订单详情变更.EditRows、订单详情变更.DeleteRows 这三个参数,对订单详情表数据在服务端进行添加、修改和删除。订单详情表表格已开启了数据松绑定,并且允许编辑、添加新行、允许删除。
只发送添加的数据
编辑服务端命令,在参数列表中选择“订单详情变更.AddRows”参数,双击插入。选择循环的子命令为数据表操作命令,操作类型为添加,目标表为订单详情表,并设置更新字段及值。
图7 编辑命令
在页面中设置调用服务端命令,如图6所示,然后运行页面,在页面的订单详情表表格中添加两行新的数据,然后单击“更新订单详情”按钮,服务端就会执行循环命令中的数据表操作命令,只发送变更的数据,将添加的订单表详情数据发送并添加到服务端的数据表中。
图8 执行循环命令
只发送修改的数据
编辑服务端命令,在参数列表中选择“订单详情变更.EditRows”参数,双击插入。选择循环的子命令为数据表操作命令,操作类型为更新,目标表为订单详情表,设置更新字段及更新条件。
图9 指定循环次数
在页面中设置调用服务端命令,如图6所示,然后运行页面,在页面的订单详情表表格中编辑数据,然后单击“更新订单详情”按钮,服务端就会执行循环命令中的数据表操作命令,将订单表中修改的订单表详情数据发送并更新到服务端的数据表中。
图10 执行循环命令
只发送删除的数据
编辑服务端命令,在参数列表中选择“订单详情变更.DeleteRows”参数,双击插入。选择循环的子命令为数据表操作命令,操作类型为删除,目标表为订单详情表,并设置更新条件。
图11 指定循环次数
在页面中设置调用服务端命令,如图6所示,然后运行页面,在页面的订单详情表表格中删除一行数据,然后单击“更新订单详情”按钮,服务端就会执行循环命令中的数据表操作命令,将订单表中删除的订单详情表数据发送到服务端,在服务端的数据表中进行删除。