logo
small logo
  • Producto
  • Comprar
  • Ayuda
  • About
  • Consola de usarios Ayuda
    • en
    • de
    • JP
    • ZH
  • Página principal
  • /
  • Blogs
  • /
  • Un informe interactivo con la entrada de datos preliminar en una tabla
  • Cómo personalizar el diseñador de informes

    31 de mayo de 2020

    El diseñador de informes abunda en un posibilidades funcionales que muchos usuarios no utilizan. Aveces

    read more
  • Cómo crear un recibo de venta desde una aplicación WPF

    17 de agosto de 2020

    Supongo que a todos los desarrolladores de WinForms se les ocurrió la idea de que

    read more
  • Cómo demostrar el pie de página PageFooter solo en la última página del informe

    15 de mayo de 2020

    Al desarrollar informes de un mismo típo o informes con unas mismas bandas se puede

    read more
  • How to create a sales receipt from a WinForms application

    30 de mayo de 2020

    Most likely every .NET developer started from Windows Forms applications. Countless number of such applications

    read more
  • Cómo utilizar una regla en el editor RichText para FastReport .NET

    16 de marzo de 2022

    En el editor RichText se ha añadido una regla. Permite a los usuarios regular

    read more

Un informe interactivo con la entrada de datos preliminar en una tabla

4 de abril de 2022

Interactive report with preliminary data entry into the table

Como ya sabe, los informes FastReport.NET pueden tener formularios de diálogo que se muestran antes de la formación del informe. Gracias a los formularios puede especificar algunos variables de texto, de tipo booleano o numéricas. Pueden ser campos de texto, tablas, listas, listas despegables, fechas, casillas de verificación e incluso listas con casillas de verificación.

Los formularios de diálogo suelen utilizarse para filtrar los datos en un informe o para seleccionar los criterios de comportamiento del informe. Pero hoy hablamos de otra aplicación posible del formulario de diálogo.

Consideramos un caso, en el que necesite entrar los datos del informe antes de mostrarlo. Es un caso bastante simple, si habla de los campos de texto, casillas de verificación, listas particulares. Pero qué pasa si tiene una tabla con datos y quiere poder ajustar estos datos a mano antes de crear un informe?

Ahí es donde el componente Grid Grid  nos ayuda. Esto es una tabla con datos que podemos mostrar en un cuadro de diálogo antes de crear un informe.

Añadimos un cuadro de diálogo en un informe y colocamos el elemento Grid en él. Llamamos el menú contextual para él con el clic derecho:

El menú contextual del elemento Grid

Añada “Edit Collumns…” para añadir las columnas en una tabla.

La ventana de edición de columnas en el elemento Grid

En la ventana de edición de columnas añadimos las tres - Name, Address, Phone. Preste atención a la propiedad Customers.Name. Aquí nos referimos a una fuente de datos Customers, que no hay todavía en un informe. Pero lo añadimos más tarde por vía del script. Para el resto de las columnas necesita especificar las propiedades correspondientes.

La plantilla de página del informe es más simple – un solo objeto Table con tres columnas. Vamos a llenarlo en un script del informe.

La plantilla de informe para la salida de información desde el cuadro de diálogo

Ahora vamos a añadir el controlador de eventos StartReport para un informe:

El inspector de propiedad para el objeto Report

Un script del informe:

public class ReportScript
 {
 //La estructura de datos para la tabla
 public class Customer 
 {
 public string Name {get; set; }
 public string Address {get; set; }
 public string Phone {get; set; }
 
 public Customer(string name, string address, string phone)
 {
 Name = name;
 Address = address;
 Phone = phone;
 }
 }
 
 private void _StartReport(object sender, EventArgs e)
 {
//Una lista de usuarios 
 List<Customer> customers = new List<Customer>();
//Entramos los datos predeterminados en una lista de usuarios 
 customers.Add(new Customer("Kevin Smith", "221 52nd st, Brooklyn, NY, United States", "+12127599755"));
 customers.Add(new Customer("Justin Ford", "1556 Broadway, suite 416, NY, United States", "+12145678900"));
 customers.Add(new Customer("Amanda Stephenson", "455 Larkspur Dr., CA, United States", "+14105175379"));
 //Registramos una fuente de datos en un informe
 Report.RegisterData(customers, "Customers"); 
 //Especificamos una fuente de datos en la tabla
 Grid1.DataSource = Report.GetDataSource("Customers");
 //Especificamos los campos en las celdas 
 Cell6.Text = "[Customers.Name]";
 Cell7.Text = "[Customers.Address]";
 Cell8.Text = "[Customers.Phone]";
 }
}

En este caso especificamos la estructura de datos Customer, que se utiliza para presentar las líneas en una tabla en un cuadro de diálogo y en un informe. Luego creamos una fuente de datos Customers y lo llenamos con copias de Customer. Luego registramos una fuente de datos recibida en un informe. ¿Recuerda cómo hemos especificado un campo de datos para las columnas en el objeto Grid? Esto es la fuente de datos a la que nos referíamos. Aquí también asignamos los campos de la fuente a las celdas de tabla (el objeto Table) en una plantilla de página.

Ahora para el objeto Table creamos el controlador de eventos ManualBuild en un pagina del informe. Este evento se llama después de crear un objeto en una pagina y permite cambiar una tabla que ya está lista para mostrarse. Así podemos cambiar el texto en una tabla por vía del script.

El inspector de propiedades del objeto Table

 private void Table1_ManualBuild(object sender, EventArgs e)
 {
 //Especificamos una fuente de datos 
 DataSourceBase rowData = Report.GetDataSource("Customers");
 //Inicializamos los datos 
 rowData.Init();
 //Mostramos la primera línea de datos 
 Table1.PrintRow(0);
 //Mostramos una columna 
 Table1.PrintColumns();
 //Recorrer todas las líneas de datos en la fuente
 while (rowData.HasMoreRows)
 {
 //Presentamos otra línea de datos 
 Table1.PrintRow(1);
 //Presentamos una columna
 Table1.PrintColumns();
 //tomamos la entrada siguiente de la fuente
 rowData.Next();
 }
 }

Aquí rellenamos la tabla recorriendo simplemente todas las líneas de datos.

Vamos a ejecutar el informe. Lo primero que vamos a ver es un cuadro de diálogo con la tabla:

El cuadro de diálogo con la tabla

Hacemos doble clic en la primera celda para editar su texto:

La edición de la primera celda

Pulsamos OK y vemos el resultado:

El resultado del funcionamiento del código de programación

Cómo ve, nuestros datos por defecto han cambiado a los que hemos entrado a mano. Así puede dar a los usuarios una opción de modificar los datos manualmente antes de crear un informe. Este ejemplo muestra el relleno de una tabla con los datos del script, pero nada impide a usted rellenarla con los datos de la fuente.

about product comprar
avatar
Dmitriy Fedyashov
Technical Writer
Fast Reports Team: Dmitriy Fedyashov - Technical Writer at Fast Reports
.NET FastReport Interactivity Designer Script Report

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
  • FAQ
  • Toturial en vídeo
  • Foro
  • Support SLA
  • Documentación técnica
  • Nuestras noticias
  • Quiénes somos
  • Socios
  • Extended licensing
  • Contactos

© 1998-2023 by Fast Reports Inc.

  • Privacidad
  • Cookies Policy

Trustpilot
By clicking “Accept all, you agree Fast Reports can store cookies on your device and disclose information in accordance with our Cookie Policy.