logo
small logo
  • Producto
  • Comprar
  • Ayuda
  • Blogs
  • Recuperar contraseña
    • en
    • ru
    • pt
    • es
    • JP
    • ZH
  • Página principal
  • /
  • Blogs
  • /
  • Cómo crear su propia barra de herramientas en Vista previa de informes
  • How to connect to SQLCe

    11 de noviembre de 2019

    Microsoft SQL Server Compact Edition is a simple local relational database that doesn't require installation,

    read more
  • How to disable printing reports and other items from the menu when viewing the report FastReport.Net

    29 de febrero de 2020

    The main report viewing tool FastReport.Net is Viewer. This viewer has a rich toolkit for

    read more
  • How to update the FastReport.Core web report

    21 de septiembre de 2020

    Sometimes you need to update the report, for example if you input a new variable

    read more
  • Generador de informes FastReport

    23 de marzo de 2020

    Sin información no se puede realizar ninguna actividad de ninguna esfera de nuestra vida. La

    read more
  • How to create business cards from ASP .Net Core application

    31 de mayo de 2020

    ASP.Net Core Framework is a cross-platform solution for creating web applications. This means that you

    read more

Cómo crear su propia barra de herramientas en Vista previa de informes

8 de enero de 2020

La mayoría de generadores de informes tienen modo de de ver informes con barra de herramientas que sirve para trabajar con el informe. Por ejemplo, pasar páginas, imprimir, exportar, etc. Sin embargo, a veces falta un botón con algunas funcionalidades. Puede ser exportación rápida en un formato o envío del informe a la revisión o puede necesitar realizar distribución de informes. La barra de herramientas tradicional de FastReport.Net no permite añadir sus propios funcionalidades personalizadas. Pero los desarrolladores han previsto la posibilidad de crear sus propio modo de vista previa. Es una muy buena noticia porque no a todo el mundo le gusta la vista previa tradicional. A muchos usuarios les gustaría mucho algunos botones innecesarios y añadir sus propios. Por lo tanto, vamos a considerar lo simle y rápido que es crear su vista previa para los informes. Todas las funciones del modo vista previa tradicional están disponibles en la biblioteca FastReport.dll.

Vamos a considerar un ejemplo. Una aplicación simple WindowsForms. Conectamos a esta una biblioteca FastReport.dll. Al formulario añadimos el componente de la barra de herramientas ToolStrip y PreviewControl (un viewer de informes estándar). Este componente ya tiene su barra de herramientas pero se la puede ocultar en la propiedad ToolBarVisible.

En la barra de herramientas hemos creado los botones con la funcionalidad necesaria:

Abrir informe, imprimir, exportar, pasar páginas y un botón especial con una funcionalidad más. Servirá para guardar el informe en el formato .csv en una carpeta determinada. Un tipo de QuickSave. Supongamos que es esta funcionalidad que utilizamos muchas veces y la metemos en un botón separado. Ahora vamos a echar un vistazo al código de la aplicación:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
public partial class Form1 : Form
 {
 private Report FReport;
 private DataSet FDataSet;
 
 public Form1()
 {
 InitializeComponent();
 }
 
 private void LoadBtn_Click(object sender, EventArgs e)
 {
 FReport = new Report();
 FReport.Preview = previewControl1;
 
 using (OpenFileDialog file = new OpenFileDialog()) 
 {
 if (file.ShowDialog() == DialogResult.OK)
 {
 FDataSet = new DataSet();
 FDataSet.ReadXml("K:/My documents/nwind.xml");
 FReport.Load(file.FileName);
 FReport.RegisterData(FDataSet, "NorthWind");
 FReport.Prepare();
 FReport.ShowPrepared();
 }
 }
 }

El botón de cargar informe abre un cuadro de diálogo estándar de abrir archivo. Aquí cargamos una base de datos en la fuente de datos, cargamos el modelo de informe seleccionado en el objeto de informe, registramos en él la fuente de datos, compilamos y mostramos el informe en el componente vista previa.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
private void SaveBtn_Click(object sender, EventArgs e)
 {
 SaveBtn.DropDownItems.Clear();
 List<ObjectInfo> list = new List<ObjectInfo>();
 RegisteredObjects.Objects.EnumItems(list);
 
 ToolStripMenuItem saveNative = new ToolStripMenuItem("Save to .fpx file...");
 saveNative.Click += new EventHandler(item_Click);
 SaveBtn.DropDownItems.Add(saveNative);
 
 foreach (ObjectInfo info in list)
 {
 if (info.Object != null && info.Object.IsSubclassOf(typeof(ExportBase)))
 {
 ToolStripMenuItem item = new ToolStripMenuItem(Res.TryGet(info.Text) + "...");
 item.Tag = info;
 item.Click += new EventHandler(item_Click);
 if (info.ImageIndex != -1)
 item.Image = Res.GetImage(info.ImageIndex);
 SaveBtn.DropDownItems.Add(item);
 }
 }
 }

El botón de exportar/guardar, de hecho, tiene una lista desplegable con diferentes formatos de exportación. En primer lugar, limpio la lista desplegable y creo una lista para objetos de exportación. Cargo en la lista todos los objetos registrados.

Luego, añado el primer elemento a la lista de exportaciones que es el formato nativo de exportaci'on, es decir, formato .fpx. El resto de los formatos disponibles se añaden a la lista en un ciclo. Algunas de la exportaciones tiene imágen. Cada elemento de la lista se inscribe al evento item_Click que procesa la acción de pulsar el elemento.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
private void item_Click(object sender, EventArgs e)
 {
 ObjectInfo info = (sender as ToolStripMenuItem).Tag as ObjectInfo;
 if (info == null)
 {
 previewControl1.Save();
 }
 else
 {
 ExportBase export = Activator.CreateInstance(info.Object) as ExportBase;
 export.CurPage = previewControl1.PageNo;
 export.Export(previewControl1.Report);
 }
 }

El manejador del evento item_Click realiza la exportación del informe que en este momento está mostrado en el componente vista previa.

1
2
3
4
 private void PrintBtn_Click(object sender, EventArgs e)
 {
 previewControl1.Print();
 }

 botón de imprimir invoca el cuadro de diálogo de imprimir documento.

1
2
3
4
 private void FirstBtn_Click(object sender, EventArgs e)
 {
 previewControl1.First();
 }

El botón First muestra la primera página del informe.

1
2
3
4
 private void PrevBtn_Click(object sender, EventArgs e)
 {
 previewControl1.Prior();
 }

El botón Prev muestra la página anterior del informe.

1
2
3
4
 private void NextBtn_Click(object sender, EventArgs e)
 {
 previewControl1.Next();
 }

El botón Next muestra la siguiente página del informe.

1
2
3
4
 private void LastBtn_Click(object sender, EventArgs e)
 {
 previewControl1.Last();
 }

Y, por fin, el botón Last muestra la última página del informe.

1
2
3
4
5
6
7
 private void PageNo_KeyDown(object sender, KeyEventArgs e)
 {
 if (e.KeyData == Keys.Enter)
 {
 previewControl1.PageNo = int.Parse(PageNo.Text);
 }
 }

El campo de texto entre los botones de muestra el número de la página actual. Cambiando sus valores, también se puede pasar las páginas del informe.

1
2
3
4
 private void PreviewControl1_PageChanged(object sender, EventArgs e)
 {
 PageNo.Text = previewControl1.PageNo.ToString();
 }

Pero, si pasa páginas utilizando botones, el número de la página en este campo de texto también cambia. Según el evento de cambiar página en el componente vista previa.

1
2
3
4
5
 private void QuickSaveCSVBtn_Click(object sender, EventArgs e)
 {
 FastReport.Export.Csv.CSVExport ex = new FastReport.Export.Csv.CSVExport();
 FReport.Export(ex, "Text.csv");
 }

Por fin, nuestro botón personalizado. Sus funcionalidades son a lo que salga, para demostración, nada más. Guarda el informe en el formato .csv. De esta manera, puede hacer el visualizador de informes más comodo para el cliente o para sí mismo proporcionándolo con las funciones necesarias.


Utilizar su fantasía a la hora de crear funcionalidades adicionales en Preview se puede eternamente, lo importante es que los desarrolladores nos han dado esta oportunidad.

Y si quiere usar su primer componente Preview al mostrar el informe desde el código de la aplicación, utilice el siguiente código:

1
2
3
4
5
6
CusomPreviewForm prev = new CusomPreviewForm ();
Report report = new Report();
report.Load("K:/My documents/lines.frx");
report.Preview = prev.previewControl1;
report.Show();
prev.ShowDialog();

Aquí especificamos de nuevo el componente de visualizar informe. Pero hemos tenido que hacer público previewControl1.

Pues ya está. Espero que aproveche esta oportunidad de hacer un visualizador de informes personalizado..

about product descargar comprar
avatar
Dmitriy Fedyashov
.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
  • Nuestro equipo
  • Contactos

© 1998-2021 by Fast Reports Inc.

  • Privacidad