Power Builder - Lic. En Sistemas

 
Vista:

Lic. En Sistemas

Publicado por Eric Montilla (4 intervenciones) el 11/06/2004 21:56:14
Buenas tardes.
Estoy creando un reporte para tal caso estoy utilizando un dw tipo composite ya que es una resolución y la misma lleva un encabezado y detalle, lo que no quiero es que el encabezado se me repita de la página 2 en adelante. El mismo lo hace pero el inconveniente que se me presenta es que las pag. donde imprimo son membretada y a apartir de la seg. pagina me imprime desde el inicio de la pag. y la impresión esta cayendo sobre el membrete de la página. Como hacer para que no me suceda esto.?. existe alguna otra forma de hacerlo o alguna propiedad del dw que lo haga.
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:Imprimir encabezado sólo en la primera pagina

Publicado por Oscar (1178 intervenciones) el 13/06/2004 22:33:02
Lo que vamos a hacer es tornar invisibles c/u de los elementos que están en el encabezado, y que éste no se imprima a partir de la segunda página.

1. Evento PRINTPAGE del control dw_composite:
IF pagenumber > 1 THEN

//Si tienes por ejemplo un objeto texto llamado t_1
//en el Header del objeto d_composite.
dw_composite.object.t_1.Visible = False

//Ahora si en el Header del objeto d_composite, además tienes
//un objeto dw_encabezado, vamos a tornar invisibles
//c/u de sus columnas.
datawindowchild ldwc_dw_interno

//Capturamos el dw_encabezado que está dentro del COMPOSITE
dw_composite.getchild('dw_encabezado',ldwc_dw_interno)

//Ahora recién podemos aplicar cualquier función a nuestro
//DW interno. En este caso, tornamos invisible c/u de sus columnas
ldwc_dw_interno.Modify("nombre_columna1.Visible=0")
ldwc_dw_interno.Modify("nombre_columna2.Visible=0")

END IF

Nota: El procedimiento descrito te permite imprimir el encabezado sólo en la primera página. A partir de la segunda página, el encabezado queda invisible y en su lugar queda un espacio en blanco, tal como deseas; pero si no quieres ese espacio en blanco; me comentas, para hacerlo desaparecer.
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:Imprimir encabezado sólo en la primera pagina

Publicado por Eric (4 intervenciones) el 15/06/2004 01:05:20
Gracias Oscar, inclui el codigo que me proporcionaste, pero como me dices me queda el espacio en blanco a partir de la segunda página, me dices que tienes el código para eliminarlo, pero solo deseo mas o menos eliminar la mitad del espacio en blanco que me quedo en las paginas siguientes a la primera.

Gracias por tu respuesta.
Saludos
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:Imprimir encabezado sólo en la primera pagina

Publicado por Oscar (1178 intervenciones) el 15/06/2004 16:07:54
Hola Eric:

Para eliminar ese espacio en blanco. Sólo debes "jugar" con la altura del header (que puede variar desde 0 hasta el número que quieras).

Ejemplo:
Supongamos que la altura del encabezado original es: header.height = 400 (esto debería imprimir sólo en la primera página). Ahora vamos a reducir a la mitad ese espacio en blanco.

Evento PRINTPAGE del control DW:

if pagenumber > 1 then
dw_composite.object.datawindow.header.height = 200
end if
------------FIN---------
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