A veces uno necesita mostrar en un informe la misma información varias veces. Puede ocurrir en informes que se van a imprimir, por ejemplo, si se trata de facturas, tarjetas comerciales, anuncios, invitaciones, etc.
Antes no era una tarea fácil. Tenía que utilizar el script de un informe para "multiplicar" la banda. Aquí tiene un ejemplo:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
public class ReportScript { int i = 0; int count = 3; private void PageHeader1_AfterPrint(object sender, EventArgs e) { for (int i = 0; i < count - 1 ; i++) Engine.ShowBand(Data1); } private void Data1_BeforePrint(object sender, EventArgs e) { if (i == count) Data1.Visible = false; } } |
Aquí hemos tenido que utilizar dos manejadores de eventos. Primero, después de mostrar la banda cabecera, es decir, antes de mostrar la banda Data, hemos tenido que generar el número necesario de de bandas de datos. A continuación, antes de mostrar la banda Data, compruebe si el número necesario de datos se ha alcanzado.
Esta opción sí que es buena, pero presupone que el desarrollador del informe tenga algunos conocimientos de programación, así como los de del motor del generador para ver cómo bandas se mostrarán en la página. Todo esto limita al desarrollador.
Ahora, en la versión 19.3.4, hay una solución "regular" a este problema: la propiedad RepeatBandNTimes para la banda. Simplemente establece el número deseado de ejemplares de la banda de salida.
Como resultado, tenemos lo mismo que con el script:
Todo el mundo quiere que el generador de informes vaya mejorando en lo de la comodidad y facilidad de uso y no cargue al desarrollador de trabajo excesivo.