2011-04-04 19 views
9

Tengo un origen de datos compuesto por el objeto {groupName, rowName, colName, value}. Estoy tratando de poner los campos row, col, val en una tabla de referencias cruzadas, separados por grupo [el grupo tiene encabezados]. Una colección de objetos de datos se está almacenando como fuente de datos principal.Error al aumentar el conjunto de datos de referencias cruzadas

estoy gettting el error cuando trato de hacer esto:

net.sf.jasperreports.engine.JRRuntimeException: Error incrementing crosstab dataset 
    net.sf.jasperreports.engine.fill.JRFillCrosstab$JRFillCrosstabDataset.customIncrement(JRFillCrosstab.java:762) 
    net.sf.jasperreports.engine.fill.JRFillElementDataset.increment(JRFillElementDataset.java:193) 
    net.sf.jasperreports.engine.fill.JRCalculator.calculateVariables(JRCalculator.java:162) 
    net.sf.jasperreports.engine.fill.JRVerticalFiller.fillDetail(JRVerticalFiller.java:747) 

¿Alguien tiene sugerencias a por qué ocurre esto o cómo solucionarlo?

Respuesta

18

me encontré con los siguientes elementos que ayudarán: *

Lo que "los datos de referencias cruzadas ya se ha procesados" medios de excepciones?

Esta excepción se produce si hay más datos se añade al conjunto de datos de referencias cruzadas después la tabla cruzada ya ha sido prestados.
Esto suele suceder cuando un elemento tabla de referencias cruzadas está vinculada a la principal conjunto de datos del informe (no usa un subdataset plazo) y la resetType atributo del conjunto de datos de referencias cruzadas qué no coincide con el lugar donde se representa la tabla cruzada .
Las tablas de contingencia son componentes especiales que muestran datos agregados de . Y cuando están vinculados al conjunto de datos principal del informe, simplemente no puede ponerlos en la sección de detalles, porque no hay datos para agregar desde un único registro.
Tales tablas cruzadas sólo podían residir en un pie de grupo o en la sección de resumen del informe y tienen el valor apropiado resetType , por lo que su conjunto de datos se inicializa cada vez después de que se prestado.
Si todavía piensa que necesita para hacer una tabla de referencias cruzadas para cada detalle en el documento maestro, entonces casi seguramente esta tabla de referencias cruzadas debe ser vinculado a un subdataset y no al conjunto de datos principal del informe.

Debe intentar poner todos los datos en la sección de detalles, lo que no permitiría que el componente de tabla cruzada agregue todos sus datos.

* jasperforge.org

+3

Gracias por explicar el problema. Otra solución que encontré fue cambiar el "Tipo de restablecimiento" para el conjunto de datos cruzado a "Ninguno". Entonces aún puede usar el conjunto de datos principal y colocar la tabla cruzada en una banda de detalles. – andyandy

0

poner la tabla de referencias cruzadas en la sección veraniega y eliminar todas las otras bandas de alinear correctamente la tabla de referencias cruzadas. Estoy trabajando con jasperstudio y este método solucionó el problema.

Cuestiones relacionadas