![]() |
Cambiar orden de páginas con Rave Reports
Buenos días:
Después de buscar durante varias semanas información sobre este tema, he llegado a la conclusión de que lo que quiero no puede hacerse con Rave Reports, pero antes de tirar la toalla decidí probar suerte con el foro para ver si alguien ha estado en un caso similar. Lo que quiero hacer es cambiar el orden de las páginas de un informe en tiempo de ejecución, dependiendo de un parámetro determinado. Por ejemplo: Página 1 - un informe simple. Siempre se muestra correctamente. Página 2 - un informe maestro/detalle. Sólo se mostrará si el valor de un parámetro pasado desde Delphi a Rave es 1. El problema es que la segunda página sale en blanco cuando le pongo el condicional. Estaba probando con el evento OnBeforeReport del informe completo (aunque también he probado con OnBeforePrint, OnBeforeReport y OnAfterPrint de la página 1). El código es: Código:
if compare(RaveProject.GetParam('MiParam'), '1') = 0 then ¿Es un bug de Rave Reports? Yo he llegado a la conclusión de que sí, pero igual hay alguna forma de solucionarlo que se me está escapando. O igual estoy haciendo algo mal, yo ya ni sé. He probado también a dejar fijo el orden de las páginas y cambiar el estado de Visible de la página 2, pero eso no funciona cuando añado una tercera página (en mi informe son 4 páginas y sólo la primera es fija). Y la última opción que se me ocurre es tratar de editar el PageList en el evento OnBeforeReport del informe, pero tampoco sé cómo hacerlo. He visto algún mensaje perdido en foros de internet con algo similar a esto, pero en ninguno había respuesta. Agradeceré cualquier indicio de luz que alguien pueda arrojar sobre este túnel... Saludos y gracias, M. |
Seguimos...
Bueno, he decidido olvidarme de los eventos del report y ahora estoy intentando definir el orden de las páginas desde Delphi. El nuevo problema que tengo es un "Access violation".
He probado con dos formas distintas. La primera: Código:
if RvPageList = nil then La segunda: Código:
RvProject.SelectReport('MiReport', true); He probado tanto definiendo los GotoPage en Rave también como sin definirlos, y el resultado es el mismo. ¿Alguna idea? Gracias, M. |
Resuelto
Bueno, por fin lo he conseguido. Pongo la solución por si alguien se ha visto en el mismo caso, es el segundo código que había probado pero accediendo al Project Manager en lugar de al Report directamente:
Código:
with RvProject.ProjMan do Saludos, M. |
Hola M. FM... tengo exactamente el mismo problema que tuviste tu. Me tira el mismo error en el gotopage... pero no entiendo como fue que resolviste el problema...
las variables page1 y page2 son Travepage??? No se como solucionarlo... a no ser que tengo un problema en el rave report.. en el archivo... pero lo tengo de la siguiente manera... un archivo llamado 'informe.rav', en el cual existe un reporte llamado orden y dentro de este reporte existen 2 paginas..... esto esta bien?? alguna idea de como solucionar esto?? gracias por tu tiempo saludos |
Hola, mjjj:
Intentaré explicarte lo poco que sé a ver si entre los dos lo sacamos. Para empezar, tienes que sustituir en el código delphi MiReport por el nombre de tu informe en Rave Reports (en tu caso sería orden):
Se convertiría en:
Además, Page1 y Page2 son los nombres que le has puesto a las páginas de tu informe también en Rave Reports. Es decir, que tanto el informe como sus páginas deben existir para que el código en delphi los encuentre. Mira a ver si con eso solucionas algo, y si no, vuelve a escribir y lo seguimos mirando. Saludos |
La franja horaria es GMT +2. Ahora son las 05:31:15. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi