Is it possible to programmatically create a report without a database definition and then add a fake table structure to match a resultset structure?
Lets say i have a join query of two tables such as "select Field1, Field2 from Table1 inner join Table2 on Table1.Key=Table2.key"
i'd like to do something like that
myResulSet=stmt.executeQuery("select Field1, Field2 from Table1 inner join Table2 on Table1.Key=Table2.key");
ReportClientDocument RCD = new ReportClientDocument();
RCD.setReportAppServer(ReportClientDocument.inprocConnectionString);
//Opens a saved blank report
RCD.open("/report/blank_report.rpt", 0);
// Grab the resultfield controller
ResultFieldController RFC = RCD.getDataDefController().getResultFieldController();
Fields F=new Fields();
DBField F1=new DBField();
DBField F2=new DBField();
F1.setTableAlias("Table1");
F2.setTableAlias("Table1");
F1.setName("Field1");
F2.setName("Field2");
F.add(F1);
F.add(F2);
//add fields to the report
RFC.add(Fields);
String tableAlias = RCD.getDatabaseController().getDatabase().getTables().getTable(0).getAlias();
RCD.getDatabaseController().setDataSource(myResulSet, tableAlias , tableAlias);
Has anyone ever done something like this?
Edited by: dehian2 on Dec 7, 2009 2:10 PM