1

TLDR:是否可以刷新单个数据集行?在 ajax 工作流运行后,我想刷新数据库中的当前行,而不是整个数据集(因为它可能非常大并且运行整个查询很慢)。


我有一个带有记录表的屏幕,它显示一个可能非常大的数据集,还有一个按钮,它针对数据集的当前行运行验证例程。最初我通过屏幕操作运行验证工作流程,但这意味着验证完成后整个屏幕将重新加载,当只有一行发生更改时刷新整个数据集。

问题是我无法轻松访问将更改提​​交到数据库的数据集;它与 ajax 调用提交的数据集不同,因此当 ajax 请求完成时,更改不会自动发送回屏幕。

4

2 回答 2

3

通常我会做的是在提交工作流期间手动将更改从单行编辑数据集复制回列表数据集,并避免对数据库运行单独的查询以在稍后阶段获取更新的行。

于 2012-09-04T05:55:49.210 回答
2

由于我无权访问编辑该行的数据集,因此我需要先从数据库中检索已编辑的行,然后将该行复制回屏幕上显示的实际数据集。例如:

<!-- retrieve just the edited row -->
<dataset name="temp-foo" databroker="bar" query="get-bar-by-id">
  <param name="id" value="{$foo.id}" />
</dataset>

<!-- copy the result back to the original dataset -->
<copy-row from-dataset="temp-foo" to-dataset="foo" />

目前还没有一个<refresh-dataset>等效的单行,因此您需要使用临时数据集(或编辑的数据集)并将结果复制回原始数据集。

于 2012-09-04T06:31:30.287 回答