1

您如何使用 java 在水晶报表上以编程方式创建/设置记录选择公式?我尝试在 Internet 上搜索,但唯一的选择是通过需要 Crystal Report Server 的 IFilter。我的程序只使用 JRC 库。这也是一个使用 swing 的 java 桌面应用程序。

4

3 回答 3

2

可能有点晚了,但也许这对某人有用:

reportClientDoc.getDataDefController().getRecordFilterController().setFormulaText("your record selection formula here");
于 2015-07-23T11:40:46.743 回答
0

我正在对此进行一些研究,并注意到有 3 种方法可以做到这一点:

  1. 使用SAP提供的本所示IFilter界面

    // Set the filter string to be used as the Record Filter
    String freeEditingFilter = "{Customer.Country} = 'Canada'";
    // Retrieve the record filter for the Data Definition Controller
    IFilter iFilter = clientDoc.getDataDefController().getDataDefinition().getRecordFilter();
    // Set the filter to free editing text filter string
    iFilter.setFreeEditingText(freeEditingFilter);
    // Modify the filter through the Record Filter Controller to the report
    clientDoc.getDataDefController().getRecordFilterController().modify(iFilter);
    

    我只在没有 Crystal Report Server 的情况下使用 JRC,上面的示例对我有用。

  2. 正如弗朗西斯科在他的回答中所说,使用该setFormulaText方法:

    clientDoc.getDataDefController().getRecordFilterController().setFormulaText("{Customer.Country} = 'Canada'");
    
  3. 使用参数。可以使用代码将参数传递给报告(您可以使用addDiscreteParameterValue帮助程序类中的函数),也可以在运行时由用户填写。我选择不选择此选项,因为它们不能设置为可选

于 2015-09-09T09:21:50.303 回答
-2

如果要创建程序的水晶报告,则需要另一个软件的 jar 文件。您可以在 NetBeans IDE 中创建程序,并将您的 IDE 与 NetBeans 中用于在 java 中创建报告的 IReport 软件链接。你从互联网上得到了很多关于这个的例子。

于 2012-12-11T12:42:39.067 回答