Crystal Report - CRYSTAL REPORTS CON OBJETOS

 
Vista:

CRYSTAL REPORTS CON OBJETOS

Publicado por Diego (1 intervención) el 02/04/2010 04:50:31
Hola

Mi consulta es con crystal reports cuyo datasource es un objeto

el objeto que cree para el datasource tiene campos utilizados para la cabecera del reporte (tales como razon social, domicilio, nro factura etc) que se muestran un unica vez

Y tambien tiene una Lista generica de otra clase,

Que es los items de la factura (tales como Articulo, Cantidad, Precio por Unidad, Descuento) que se muestran n veces, tantas como la coleccion tenga objectos.

El problema que tengo es que no logro que aparesca la lista como item para agregar al reporte

Si hay alguna otra forma de hacerlo tambien me gustaria conocerla

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:CRYSTAL REPORTS CON OBJETOS

Publicado por Modesto (7 intervenciones) el 13/04/2010 17:58:56
Uhhh No entiendo cuando dices que tu datasource es un objeto

Lo poco que se es que puedes conectarse aun datasource a cualquie base se datos usado cualquier tipo de conexion o creando tu propias intrucciones sql...

Ya en el diseño pues tienes tus tablas relacionadas

Pues si tienes campo de cabezela como colocas en el encabazado y los detalles pues en el area de tedalle y listo...

Si me amplias mas el probelma y pueda ayudarte con gusto lo haria
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:CRYSTAL REPORTS CON OBJETOS

Publicado por Raphael Trujillo (3 intervenciones) el 14/04/2010 04:02:20
Plain Old Java Objects (POJO)

When designing a class to use as a POJO, you can use a Java Project, a J2EE Utility Project, or a Crystal Reports Web Project.
Your POJO class must have a schema that is compatible with a table in your report. The names and types are case insensitive, but they must match.

To view POJO runtime data in your report, you'll update the report with a DatabaseController. You'll instantiate a class, put the data into an object collection, and then call Crystal Reports JavaDatabaseController.setDataSource API.

EXAMPLE
-------------

import java.sql.*;

public class ReportData
{
public String firstName;
private String lastName;
private int age;
private Date birthDay;

public ReportData(String firstName, String lastName, int age, Date birthDay)
{
this.firstName = firstName;
this.lastName = lastName;
this.age = age;
this.birthDay = birthDay;
}

public String getLastName()
{
return lastName;
}

public int getAge() {return age;}
public Date getBirthDay() {return birthDay;}
}

-------------

To update the report
To create a DatabaseController, call getDatabaseController from the instance of ReportClientDocument that contains your report.
DatabaseController dbc = rcd.getDatabaseController();
To set the datasource for your DatabaseController, call setDataSource and pass the object collection, POJO class definition, and the table name, as parameters.
String reportTable = "pojoReport";
dbc.setDataSource(data, ReportData.class, reportTable, reportTable);

-------------

<%@ page import="com.crystaldecisions.report.web.viewer.CrystalReportViewer,
com.crystaldecisions.sdk.occa.report.reportsource.IReportSource,
com.crystaldecisions.reports.sdk.*,
java.sql.*"
language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"
%>

<%
String report = "pojoReport.rpt";
ReportClientDocument rcd = new ReportClientDocument();
rcd.open(report, 0);
DatabaseController dbc = rcd.getDatabaseController();

//Create the POJO data
ReportData data1 = new ReportData("B.B.", "King", 6, new Date(25, 9, 16));
ReportData data2 = new ReportData("Muddy", "Waters", 7, new Date(15, 4, 4));
ReportData data3 = new ReportData("John Lee", "Hooker", 8, new Date(16, 8, 16));
ReportData data4 = new ReportData("Otis", "Rush", 9, new Date(34, 4, 29));
ReportData data5 = new ReportData("Buddy", "Guy", 10, new Date(36, 7, 30));

String reportTable = "pojoReport"; //The table name in your report.
java.util.ArrayList objects = new java.util.ArrayList();

objects.add(data1);
objects.add(data2);
objects.add(data3);
objects.add(data4);
objects.add(data5);

dbc.setDataSource(objects, ReportData.class, reportTable, reportTable);
IReportSource reportSource = rcd.getReportSource();
CrystalReportViewer viewer = new CrystalReportViewer();
viewer.setOwnPage(true);
viewer.setReportSource(reportSource);
viewer.processHttpRequest(request, response, getServletConfig().getServletContext(), null);
%>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

CRYSTAL REPORTS CON OBJETOS EN JAVA

Publicado por Raphael Trujillo (3 intervenciones) el 14/04/2010 04:05:44
Plain Old Java Objects (POJO)

When designing a class to use as a POJO, you can use a Java Project, a J2EE Utility Project, or a Crystal Reports Web Project.
Your POJO class must have a schema that is compatible with a table in your report. The names and types are case insensitive, but they must match.

To view POJO runtime data in your report, you'll update the report with a DatabaseController. You'll instantiate a class, put the data into an object collection, and then call Crystal Reports JavaDatabaseController.setDataSource API.

EXAMPLE
-------------

import java.sql.*;

public class ReportData
{
public String firstName;
private String lastName;
private int age;
private Date birthDay;

public ReportData(String firstName, String lastName, int age, Date birthDay)
{
this.firstName = firstName;
this.lastName = lastName;
this.age = age;
this.birthDay = birthDay;
}

public String getLastName()
{
return lastName;
}

public int getAge() {return age;}
public Date getBirthDay() {return birthDay;}
}

-------------

To update the report
To create a DatabaseController, call getDatabaseController from the instance of ReportClientDocument that contains your report.
DatabaseController dbc = rcd.getDatabaseController();
To set the datasource for your DatabaseController, call setDataSource and pass the object collection, POJO class definition, and the table name, as parameters.
String reportTable = "pojoReport";
dbc.setDataSource(data, ReportData.class, reportTable, reportTable);

-------------

<%@ page import="com.crystaldecisions.report.web.viewer.CrystalReportViewer,
com.crystaldecisions.sdk.occa.report.reportsource.IReportSource,
com.crystaldecisions.reports.sdk.*,
java.sql.*"
language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"
%>

<%
String report = "pojoReport.rpt";
ReportClientDocument rcd = new ReportClientDocument();
rcd.open(report, 0);
DatabaseController dbc = rcd.getDatabaseController();

//Create the POJO data
ReportData data1 = new ReportData("B.B.", "King", 6, new Date(25, 9, 16));
ReportData data2 = new ReportData("Muddy", "Waters", 7, new Date(15, 4, 4));
ReportData data3 = new ReportData("John Lee", "Hooker", 8, new Date(16, 8, 16));
ReportData data4 = new ReportData("Otis", "Rush", 9, new Date(34, 4, 29));
ReportData data5 = new ReportData("Buddy", "Guy", 10, new Date(36, 7, 30));

String reportTable = "pojoReport"; //The table name in your report.
java.util.ArrayList objects = new java.util.ArrayList();

objects.add(data1);
objects.add(data2);
objects.add(data3);
objects.add(data4);
objects.add(data5);

dbc.setDataSource(objects, ReportData.class, reportTable, reportTable);
IReportSource reportSource = rcd.getReportSource();
CrystalReportViewer viewer = new CrystalReportViewer();
viewer.setOwnPage(true);
viewer.setReportSource(reportSource);
viewer.processHttpRequest(request, response, getServletConfig().getServletContext(), null);
%>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

CRYSTAL REPORTS CON OBJETOS EN JAVA

Publicado por Raphael Trujillo (3 intervenciones) el 14/04/2010 04:10:50
Plain Old Java Objects (POJO)

When designing a class to use as a POJO, you can use a Java Project, a J2EE Utility Project, or a Crystal Reports Web Project.
Your POJO class must have a schema that is compatible with a table in your report. The names and types are case insensitive, but they must match.

To view POJO runtime data in your report, you'll update the report with a DatabaseController. You'll instantiate a class, put the data into an object collection, and then call Crystal Reports JavaDatabaseController.setDataSource API.

EXAMPLE
-------------

import java.sql.*;

public class ReportData
{
public String firstName;
private String lastName;
private int age;
private Date birthDay;

public ReportData(String firstName, String lastName, int age, Date birthDay)
{
this.firstName = firstName;
this.lastName = lastName;
this.age = age;
this.birthDay = birthDay;
}

public String getLastName()
{
return lastName;
}

public int getAge() {return age;}
public Date getBirthDay() {return birthDay;}
}

-------------

To update the report
To create a DatabaseController, call getDatabaseController from the instance of ReportClientDocument that contains your report.
DatabaseController dbc = rcd.getDatabaseController();
To set the datasource for your DatabaseController, call setDataSource and pass the object collection, POJO class definition, and the table name, as parameters.
String reportTable = "pojoReport";
dbc.setDataSource(data, ReportData.class, reportTable, reportTable);

-------------

<%@ page import="com.crystaldecisions.report.web.viewer.CrystalReportViewer,
com.crystaldecisions.sdk.occa.report.reportsource.IReportSource,
com.crystaldecisions.reports.sdk.*,
java.sql.*"
language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"
%>

<%
String report = "pojoReport.rpt";
ReportClientDocument rcd = new ReportClientDocument();
rcd.open(report, 0);
DatabaseController dbc = rcd.getDatabaseController();

//Create the POJO data
ReportData data1 = new ReportData("B.B.", "King", 6, new Date(25, 9, 16));
ReportData data2 = new ReportData("Muddy", "Waters", 7, new Date(15, 4, 4));
ReportData data3 = new ReportData("John Lee", "Hooker", 8, new Date(16, 8, 16));
ReportData data4 = new ReportData("Otis", "Rush", 9, new Date(34, 4, 29));
ReportData data5 = new ReportData("Buddy", "Guy", 10, new Date(36, 7, 30));

String reportTable = "pojoReport"; //The table name in your report.
java.util.ArrayList objects = new java.util.ArrayList();

objects.add(data1);
objects.add(data2);
objects.add(data3);
objects.add(data4);
objects.add(data5);

dbc.setDataSource(objects, ReportData.class, reportTable, reportTable);
IReportSource reportSource = rcd.getReportSource();
CrystalReportViewer viewer = new CrystalReportViewer();
viewer.setOwnPage(true);
viewer.setReportSource(reportSource);
viewer.processHttpRequest(request, response, getServletConfig().getServletContext(), null);
%>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:CRYSTAL REPORTS CON OBJETOS EN JAVA

Publicado por rxbl (2 intervenciones) el 13/09/2010 02:14:51
amigo me puedes pasar ejemplos . tengo java y crystal repor
pero no se como hacer para trabajar con ellos dos. soy nuevo en estos. gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar