logo
small logo
  • Producto
  • Comprar
  • Ayuda
  • Blogs
  • Consola de usarios Ayuda
    • en
    • pt
    • es
    • de
    • pl
    • JP
    • ZH
  • Página principal
  • /
  • Blogs
  • /
  • Cómo crear un informe tipo Drill- Down
  • Formato de MS Word vs. Open Document Text, ¿cuál es mejor?

    19 de octubre de 2020

    Hablando de editores de texto, presentamos inmediatamente corifeo como Microsoft Word, que durante muchos años

    read more
  • ¿Quiere generar tablas para un usuario: Excel u OpenOffice Calc?

    8 de octubre de 2020

    Tablas. Durante siglos, se han utilizado para presentar datos similares para llevar registros, contar cantidades

    read more
  • Cómo elegir los valores principales en la matriz

    22 de abril de 2021

    El artículo es relevante hasta la versión 2022.1. FastReport.NET tiene una buena herramienta para representar los

    read more
  • Cómo conectarse a Elasticsearch

    10 de noviembre de 2021

    Ahora los productos FastReport .NET, Core, Mono y OpenSource permiten conectarse a Elasticsearch. Elasticsearch es

    read more
  • ¿Cómo proteger su PDF?

    30 de noviembre de 2020

    El Día de la Protección de Datos decidimos preparar un artículo sobre la protección de

    read more

Cómo crear un informe tipo Drill- Down

4 de septiembre de 2019

Los informes con agrupación son una cosa indispensable para analizar datos. Pero cuando hay muchos datos y no hay necesidad de mostrarlos todos, este tipo de informe parece pesado y superfluo. Enonces quiere encontrar una solución universal para esos casos. Y hay una.

Un informe con una lista desplegable es, esencialmente, un informe con la agrupación de datos pero con la posibilidad de ocultar y mostrar datos en un grupo con un clic del ratón. No es solo cómodo, sino también bonito. Al fin y al cabo, el informe se hace un objeto interactivo. El usuario disfruta de la posibilidad de mostrar datos.

Vamos a ver en un ejemplo cómo crear un informe así. En primer lugar, como en el informe Master-Detail, necesitamos una fuente de datos con tablas viculadas. Supongamos que tenemos dos tablas: customer y orders.

 

Un cliente puede hacer muchos pedidos, se trata de una relación unívoca. Vamos a añadirla. Hacemos clic en el botón Actions y seleccionamos en la lista desgplegable New Relation ...

 

La tabla padre es la principal, entonces, seleccionamos customer. La tabla hijo es, respectivamente, orders. En customer hay una clave primaria CustNo. La seleccionamos entre las columnas. En orders hay una clave externa CustNo. Selecciónela también.

Como resultado, obtenemos la conexión:

 

Ahora vamos a crear un modelo de informe. Añada una banda group header. En esta vamos a ubicar los campos de la conexión:  “orders.customer.Company”, “orders.customer.Addr1”, “orders.customer.Phone”, “orders.customer.Contact”.

Además de estos campos, añadimos a esta banda un control checkbox. En su propiedad CheckedSymbol seleccione Plus, mientras que en la UncheckedSymbol, Minus.

Añada los campos OrderNo, SaleDate, PaymentMethod y AmountPaid de la tabla orders a la banda Data.También añada una banda cabecera para los datos y cabeceras de campo:

 

Haga doble clic en el nombre de la banda (Headline). Seleccione el campo para la agrupación:

 

Ahora seleccione checkbox que hemos seleccionado anteriormente. Atribúyale una propiedad Hyperlink:

Seleccione la banda Group Header y cree para esta un manipulador de eventos BeforePrint:

     

1
2
3
4
5
6
7
8
9
10
11
 private void GroupHeader1_BeforePrint(object sender, EventArgs e)
 {
 string groupName = (String)Report.GetColumnValue("orders.customer.Company");
 // get the group name
 bool groupVisible = expandedGroups.Contains(groupName);
 // Check group visibility
 DataHeader1.Visible = groupVisible;
 Data1.Visible = groupVisible;// Set the visibility of data in accordance with the visibility of the group
 GroupFooter1.Visible = groupVisible;// Set the visibility of the basement of the group in accordance with the visibility of the group
 CheckBox1.Checked = !groupVisible;// Set the state of the flag depending on the visibility of the group
 }

También añadimos a la clase una lista de grupos expandidos:

1
private List<string> expandedGroups = new List<string>();

Volvamos a nuestro checkbox. Creamos para este un manipulador de eventos Click:

1
2
3
4
5
6
7
8
9
private void CheckBox1_Click(object sender, EventArgs e)
{
string groupName = (sender as CheckBoxObject).Hyperlink.Value; // We get the name of the group from the hyperlink
if (expandedGroups.Contains(groupName)) // If the list of visible groups contains the selected group
expandedGroups.Remove(groupName); // Then remove the selected from the list of visible groups.
else
expandedGroups.Add(groupName); // Otherwise add the group to the list of visible
Report.Refresh(); // Update Report
}

Arranque el informe en el modo de vista previa:

Ahora haga clic en cualquier signo "más":

Cuando hace clic en el signo "más", el grupo se cierra. Es muy cómodo, ¿no?.

about product descargar comprar
avatar
Dmitriy Fedyashov
Technical Writer
Fast Reports Team: Dmitriy Fedyashov - Technical Writer at Fast Reports
.NET FastReport

Add comment
logo
  • 800-985-8986 (English, US)
  • +4930568373928 (German)
  • +55 19 98147-8148 (Portuguese)
  • info@fast-report.com
  • 901 N Pitt Str #325 Alexandria VA 22314
  • Comprar
  • Descargar
  • Documentación
  • Opiniones de usuarios
  • Cómo desinstalar nuestros productos
  • Enviar mensaje
  • FAQ
  • Toturial en vídeo
  • Foro
  • Documentación técnica
  • Nuestras noticias
  • Quiénes somos
  • Socios
  • Extended licensing
  • Contactos

© 1998-2022 by Fast Reports Inc.

  • Privacidad