如何从页面列表中获取所有行并使用 pxConvertResultsToCSV 将它们转换为 CSV

How to get all rows from Page list and convert them to CSV utilizing pxConvertResultsToCSV

我有一个重复网格布局,因为源是报表定义。网格每页显示二十行。所以,如果有三十三行,就有四页。

我有一个任务要将所有网格数据导出到 CSV。我找到了 pxConvertResultsToCSV activity。它需要传递具有要转换的属性的 PageList。我使用 pgRepPgSubSectionMySectionListB.pxResults 来做到这一点。但我已经意识到,属性 pxResults 仅包含 pgRepPgSubSectionMySectionListB 的前二十个元素。但我必须将所有行导出到 CSV。我怎样才能做到这一点?谢谢。

首先 运行 通过在您的活动

中致电 class Rule-Obj-Report-DefinitionpxRetrieveReportData activity 报告

语法:- call Rule-Obj-Report-Definition.pxRetrieveReportData

它会询问参数:-

pyReportName :- 你的报告定义名称

pyReportClass:- class 报告定义

pyPageName :- 任何页面名称,例如 ReportListExport。此页面必须在 class Code-Pega-List

Pages & Classes 中定义

这一步执行成功后,你会在Clipboard中得到ReportListExport.pxResults

现在使用此 pxResults 进行导出。


还有一个 activity 可以导出您在 excel 中的报告。

在 运行 报告后致电 pzViewExportToExcel activity。并保留ReportListExport.pyReportDefinition作为本步骤的步骤页。

这是首选。

这个问题现在有点老了,所以我相信 OP 可能已经解决了这个问题并继续前进。但对于未来的观众来说,有一种更简单的方法可以解决这个问题。

Pega 包含一个名为 "Record Editor" 的小工具,可用于将报告定义显示为 editable 数据 table。它像往常一样以简单的 table 显示提供的报告定义,但用户也可以编辑行、删除行和添加新行。它还包括顶部的导入和导出操作,因此用户可以将 table 中显示的整个结果集拖放到 CSV 中,然后在编辑后重新导入更改。您可以找到有关此小工具及其使用方法的更多信息 in this community article

如果您只想在源自报告定义的 table 顶部提供一个选项,允许用户在不使用记录编辑器小工具的情况下将结果导出为 CSV,那么 API 也为此。 class "PegaAccel-Task-DataTableEditor" 中的 activity "pxDownloadDataRecordsAsCSV" 就是这样做的。它接受 class 和报告定义的名称作为参数,运行该报告并将内容作为 CSV 文件提供。

这里的第二部分与 AJ 的解决方案没有太大区别,它只是一个已经存在的参数化 activity 您可以使用而不是自己编写一个。