如何获取水晶报表上显示的每条记录的索引?

时间:2014-07-18 17:43:02

标签: vb.net winforms crystal-reports

我正在使用vb.net开发winform应用程序。我在我的申请中使用水晶报告。现在我需要将当前报表中显示的每条记录的索引存储到数据库中。然后我创建另一个报告,显示所有记录的索引。我的计划是读取每条记录的页码并将其保存在数据库中。我在报告中有一个组字段。我不知道如何扫描逐个记录并获得适当的页码。我尝试使用以下代码来获取字段值但不起作用。

msgbox(rpt.DataDefinition.FormulaFields("name").Text)

显示该字段的公式。

我不知道使用以下内容获取记录的顺序。

msgbox(rpt.rows(0).item(0))

请帮帮我......

2 个答案:

答案 0 :(得分:0)

您的问题的读取方式,听起来就像您正在尝试为报表中的订单记录生成“索引”,并将该索引存储在数据库中以便在另一个报表中使用。我根本不清楚您要对页码做什么。

在任何情况下,我都需要做一些明确的事情:报告的定义(您在代码示例中访问它)仅表示报告时数据的去向格式化 - 它不是实际数据本身

在最基本的层面上,Crystal Reports会从数据库中获取数据,并在页面上很好地为您编写格式。而不是试图从数据库中取出数据,将其放入报告中,然后尝试读取该报告以将其放回数据库中以生成另一个报告,为什么不在数据库级别执行所有数据操作在开始报告之前本身?

如果确实必须拥有第一个报告,那么获取格式化数据的最简单方法是将其导出为ex​​cel并通过Excel API以编程方式访问它 - Crystal Reports不会没有用于获取格式化数据的API(包括生成的页码等内容,无论您尝试使用它们做什么)。

答案 1 :(得分:0)

你试图打破一些基本规则。例如,报告永远不应该更改数据。正确的方法是处理存储过程或命令中的数据处理,并在单独的进程中调用报告。通过这种方式,您将能够单独控制数据更改和数据可视化。

P.S。你可能意味着"标识符"不是"索引"