none
Salto de Pagina despues de un determinado numero de caracteres. RRS feed

  • Pregunta

  • Hola tengo una situacion con un reporte, espero me puedan orientar, les platico: tengo un reporte el cual esta conformado por varias secciones de datos(diferentes dataset), los cuales lo delimito a traves de rectangulos y dentro de cada rectangulo una tabla, sucede lo siguiente, en una de esas secciones (rectangulos) los valores que trae el dataset, son 2 columnas, Nombre y Descripcion (la cual puede traer hasta 4000 caracteres), pero, dicho dataset puede traer de 1 hasta 20 registros, en ese rectangulo solo caben 2000 caracteres, por lo cual si no entra en el rectangulo la descripcion, el requerimiento es que no se descuadre el rectangulo. Si no entra, entonces que los demas caracteres se impriman en una hoja nueva (con el mismo formato del reporte) y asi sucesivamente. Esto fuera facil si solo se tratase del numero de registros que pudieran entrar en el rectangulo, pero, es el numero de carateres que trae la columna Descripcion que hara que salte a una pagina nueva. Espero que me puedan orientar. Gracias de antemano, he pensado en una funcion que me cuente la cantidad de caracteres que trae la columna descripcion y despues haga el salto de pagina, pero no encuentro la manera de indicarle (mediante codigo) como realizar el salto de pagina.
    lunes, 11 de julio de 2011 18:44

Respuestas

Todas las respuestas

  • Acá hay algunas formas de crear saltos de páginas según el número de filas. Lo tendrías que adaptar a tu caso (número de caracteres).

    Fíjate la sección de saltos de página:

    http://msdn.microsoft.com/es-es/library/ms157328.aspx


    MVP MCT MCTS Daniel Calbimonte

    http://elpaladintecnologico.blogspot.com
    jueves, 14 de julio de 2011 14:32
  • Gracias Daniel por contestar, efectivamente he checado esa parte, pero la cuestion es que se hacen los saltos a traves de grupos de filas:
    =Ceiling(RowNumber(Nothing)/25)

    usando esta funcion y marcando el checkbox de salto de pagina, eso indica que "saltara" a una nueva pagina cada vez que hayan 25 filas (o registros del conjunto de datos), en el caso que me atiene es que no se base en el numero de filas del conjunto de datos, sino en la cantidad de caracteres que traiga un campo en particular, si por ejemplo en el primer registro, el campo DESCRIPCION trae 1000 caracteres (Y SOLO CABEN EN EL RECTANGULO O CONTENEDOR 500 CARACTERES), tendra que hacer el salto de pagina, cuestion que no he podido encontrar como indicarle, o bien si esto es factible en Reporting services, gracias nuevamente por tu pronta respuesta. 

    Saludos.

    viernes, 15 de julio de 2011 19:55
  • Hola chapter2000,

    La función vbnewLine te crea una nueva línea en las cajas de tus reports, Reporting Services acepta que introducas ensamblados en C# o VB.net donde podrías indicarle o controlar cuando se pasa de tus caracteres.

    Dentro del report en sí y por si no quieres usar ensamblados, en propiedades, pestaña code podrás meter funciones en vb donde hacer esto.

    Te dejo algunos ejemplos para usar dlls:

    http://geeks.ms/blogs/fdiaz/archive/2007/07/10/how-to-utilizar-dll-s-en-nuestros-informes.aspx

    http://geeks.ms/blogs/fdiaz/archive/2008/07/01/how-to-utilizar-dll-s-en-nuestros-informes-y-ii.aspx

     

    Luego vamos al caso, ¿relamente quieres hacer un salgo de página o solamente que el texto te entre dentro de la caja? Si quieres que te entre dentro de la caja con traerlo así con una función propia debería bastarte, la otra opción no me queda muy clara en cuanto a como quedaría tu informe.

    Ya nos vas contando,

    Un Saludo! 

     


    Fran Díaz | {geeks.ms/blogs/fdiaz/} | {onobanet.com} | {secondnug.com}
    miércoles, 20 de julio de 2011 8:44
    Moderador