我必须在Java App中动态创建报告。
我有一个CrystalReport(.rpt)集合,所以它取决于您选择哪个rpt。选择报告时,我必须使用“ file.rpt”中重新查询的参数创建一个新窗口,因此我需要使用参数名称来确定用户应完成的参数类型。
我在论坛上找东西,但找不到任何东西。
谢谢!
最佳答案
尝试这个!
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;
}
关于java - 如何使用JAVA获取Crystal Reports参数名称,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12915472/