2012-02-15 33 views
5

No sé si es posible o no, pero pensé en preguntar. Muchas veces los informes necesitan que la agrupación de datos haya anclado en la parte inferior del informe cierta información resumida, como las facturas. No desea que los totales se desplacen hacia arriba en función de solo 2 líneas de detalle frente a otra con 20. He intentado trabajar con el uso de Tablix vinculado a la fuente de datos para la salida, pero no pude hacerlo del todo bien ... Lo haría desplazarse hacia arriba o forzar el corte y aparecer en la parte superior de la página siguiente.RDLC informe el pie de página con el valor de "Registro actual"

Por lo tanto, si alguien tiene algunas ideas para ayudar a resolver eso, eso también sería genial.

Mi segundo enfoque fue simplemente utilizar un simple pie de página de informe. Sin embargo, la página general de "Informe" técnicamente no está "OBLIGADA" a ninguna fuente de datos. Por lo tanto, si pongo un cuadro de texto en el pie de página y quiero mostrar algo, no puedo recoger "la última fila de la fuente de datos asociada con el Tablix", que siempre requiere de un agregado, tales como

=First(Fields!SomeField.Value, "SomeDataSource") 
=Sum(... 
=Last(... 
etc... 

Solo quiero que tenga lo que sea más reciente ... así que traté de usar variables de informe para crear una y estaba pensando en actualizarla por cada fila que se procesa, por lo que siempre tenía el valor "más reciente" y Podría simplemente volcar ese valor en la parte inferior del informe.

Cualquier sugerencia a cualquiera sería genial. Gracias.

Respuesta

2

Sé que esta es una pregunta anterior, pero tuve un problema muy similar y se me ocurrió una solución única. Tenía una declaración que necesitaba que se imprimiera el recibo de pago en la parte inferior de la página, incluso si los artículos de línea de la declaración se envolvían en otra página. Lo resolvé por:

  • Haciendo que todas las filas del informe tengan una altura uniforme.
  • Cálculo de cómo se necesitaban muchas filas para llenar la página (menos la altura de mi carta de pago.
  • Conseguir el número de elementos de línea en el comunicado.
  • Calcular el número restante de filas necesario para empujar mi carta de pago a la parte inferior de la página.
  • Adición de un sub-informe con el número calculado de filas en blanco para rellenar el espacio necesario entre los elementos de línea y el resguardo de pago.

la ventaja de este enfoque fue que Podría generar facturas para múltiples clientes, y dado que el relleno es parte del grupo que se personalizaría para la factura de cada cliente y abajo justifica el recibo de sueldo para cada uno de ellos.

Puede utilizar un enfoque similar para insertar la información de su "pie de página" en la parte inferior de la página.Como todavía está dentro de su grupo de datos, también tendrá acceso a los valores de datos que necesita.

+0

Gracias por la idea y suena como una gran solución. He hecho algo similar en otro lenguaje de desarrollo, pero nunca pensé en aplicarlo aquí. En el momento de la publicación, estaba al principio y no estaba familiarizado con tales técnicas en C#/informes. Voy a marcar como respuesta, ya que SÉ que funcionará desde mi experiencia pasada. – DRapp

0

En el pie de página puede hacer referencia a reportar elemento del cuerpo del informe, así:

=ReportItems!myFooterValueTextBox.Value 

El problema es que se puede hacer referencia a un solo elemento de informe en el pie de página, por lo que puede ser necesario añadir invisible fila de pie en su mesa y concatenar todos los totales en una sola célula (myFooterValueTextBox) de dicha fila:

=First(Fields!SomeField.Value, "SomeDataSource") + "|" + 
Sum(...) + "|" + .... + 
Last(...) 

solía tubería como deliminator en mi ejemplo, por lo que a continuación, en el pie de página, sin dividir los valores de cadena y colocar en contenedores apropiados, como este:

=Split(ReportItems!myFooterValueTextBox.Value,"|")(0) 
Cuestiones relacionadas