0

我必须在我的 Java 应用程序中动态地创建报告。

我有一个 CrystalReport 的 (.rpt) 集合,所以这取决于您选择的 rpt。当您选择报告时,我必须使用“file.rpt”中的请求参数创建一个新窗口,因此我需要参数名称来决定用户应该完成哪种参数。

我正在寻找论坛,但找不到任何东西。

谢谢!

4

2 回答 2

1

尝试这个!

DatabaseController dbController = reportClientDocument.getDatabaseController();
        Tables tables = dbController.getDatabase().getTables();
        ITable table = tables.getTable(0);
        IProcedure command = (IProcedure)table;
        if(table instanceof com.crystaldecisions.sdk.occa.report.data.CommandTable) {

            for (int i=0; i< command.getParameters().size(); i++) {
                ParameterField commandParam = (ParameterField) command.getParameters().get(i);
                String paramName = commandParam.getName();
                String paramType = commandParam.getType().toString().substring(4);
                if(paramType.equalsIgnoreCase("decimal")){
                    paramType = "int";
                }
                paramType = paramType.toLowerCase();
                listOfParameter.put(paramName, paramType);
             }
            return listOfParameter;
        }
于 2015-12-11T11:40:26.430 回答
0
    ParameterFieldController paramFieldController = reportClientDoc.getDataDefController().getParameterFieldController();

        for(Entry<String,Object> par : parametros.entrySet()) {
            paramFieldController.setCurrentValue("", par.getKey(), par.getValue()); 
        }
于 2012-10-19T13:31:12.700 回答