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

时间:2017-04-18 12:18:23

标签: pega

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

我有一项任务是将所有网格数据导出为CSV。我找到了pxConvertResultsToCSV活动。它需要传递带有要转换的属性的PageList。我使用pgRepPgSubSectionMySectionListB.pxResults来做到这一点。但我已经意识到,属性pxResults只包含pgRepPgSubSectionMySectionListB的前20个元素。但我必须将所有行导出为CSV。我怎么能达到这个目的?谢谢。

2 个答案:

答案 0 :(得分:1)

首先在您的活动中调用pxRetrieveReportData课程Rule-Obj-Report-Definition的{​​{1}}活动来运行您的报告

Syntex: - call Rule-Obj-Report-Definition.pxRetrieveReportData

它会询问参数: -

pyReportName : - 您的报告定义名称

pyReportClass : - 报告定义的类

pyPageName : - 例如ReportListExport的任何页面名称。必须在班级Pages & Classes

Code-Pega-List中定义此页面

成功执行此步骤后,您将在ReportListExport.pxResults中获得Clipboard

现在使用此pxResults进行导出。

还有一项活动可以在Excel中导出您的报告。

运行报告后调用pzViewExportToExcel活动。并保留ReportListExport.pyReportDefinition作为此步骤的步骤页。

这是首选。

答案 1 :(得分:0)

这个问题现在有点老了,所以我确定OP可能已经解决了这个问题并继续进行下去。但是对于将来的观众来说,有一种更简单的方法可以解决此问题。

Pega包含一个称为“记录编辑器”的小工具,可用于将报告定义显示为可编辑的数据表。它正常显示在简单表中的报告定义,但用户也可以编辑行,删除行和添加新行。它还在顶部包括导入和导出操作,因此用户可以将表中显示的整个结果集拖放到CSV,然后在编辑后重新导入更改。您可以找到有关此小工具以及如何使用它的更多信息in this community article

如果您只是想在报表定义来源的表格顶部提供一个选项,该选项允许用户将结果导出为CSV,而无需使用记录编辑器小工具,那么也有一个API。类“ PegaAccel-Task-DataTableEditor”中的活动“ pxDownloadDataRecordsAsCSV”执行此操作。它接受报告定义的类和名称作为参数,运行该报告并将内容作为CSV文件提供。

这里的第二部分与AJ的解决方案没什么不同,它只是一个已经存在的参数化活动,您可以使用它来代替自己编写。