2012-10-16 16 views
0

我必須在我的Java應用程序中創建報表。如何用JAVA獲取水晶報表參數名稱

我有一個CrystalReport的(.rpt)集合,因此它取決於您選擇哪個rpt。當你選擇一個報告時,我必須用「file.rpt」中的重新參數創建一個新窗口,所以我需要參數名稱來決定用戶應該完成哪種參數。

我正在尋找論壇,我找不到任何東西。

謝謝!

回答

0
ParameterFieldController paramFieldController = reportClientDoc.getDataDefController().getParameterFieldController(); 

     for(Entry<String,Object> par : parametros.entrySet()) { 
      paramFieldController.setCurrentValue("", par.getKey(), par.getValue()); 
     } 
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; 
     }