Programacin III
Diseo de Reportes utilizando C# de Visual Studio 2012
1. Debe crear una conexin
2. Defina la conexin a la base de datos que desea utilizar
3. Agregue a su proyecto grfico un nuevo elemento de tipo Conjunto de
datos
4. Definicin de las tablas a incluir en el DataSet
5. Si ya existe la conexin se puede utilizar, en caso contrario se crea la
conexin
6. Agregue un nuevo WindowsForm y llmele FrmReporteProductos.cs
7. Puede agregar a su reporte controles grficos desde el cuadro de herramientas, o
haciendo clic derecho sobre el reporte
8. Para agregar encabezado y pie de pgina vaya a la pestaa Informe y luego
ingrese a la opcin correspondiente. Tambin puede hacerlo, presionando clic
derecho sobre el Informe.
9. Seleccione la fila de los encabezados del reporte para trasladarlos al
encabezado.
10.
Puede ver la Regla para ayudarse con la ubicacin de los datos del
informe.
11.
Seleccione
encabezado
la
fila
del
detalle
del
informa
para
acercarla
12.
Tambin puede cambiar los encabezados dando sobre ellos doble
clic.
13.
Agregue un Pie de Pgina
al
14.
Insertar nmero de pgina en el pie de pgina
15.
Editar el nmero de pgina
16.Generar grupos: De clic derecho sobre el detalle del informe y seleccione
Agregar Grupo
17.
Totalizar un campo
18.Incluir Fecha: Agregue un Cuadro de texto y en su expresin agregue un
campo Fecha y escoja el formato en que la desea presentar.
19.
Insertar imagen en el informe
20.Agregar Columna al detalle: clic derecho sobre la lnea de detalle:
21.
Agregar Parmetros al informe:
Ctrl +alt +D
22. Para enviar desde la aplicacin el valor del parmetro respectivo, escriba en el evento
Load del Form que contiene el objeto ReportViewer o en el evento que corresponda el
siguiente cdigo enmarcado como: Asignacin de parmetros:
private void FrmReporteProductos_Load(object sender, EventArgs e) {
this.ProductTableAdapter.Fill(this.DataSetProductos.Product);
//Asignacin de Parmetros
ReportParameter miParametroUser = new
ReportParameter("parametroUsuario",Program.usuarioActivo );
reportViewer1.LocalReport.SetParameters(miParametroUser);
ReportParameter miParametroInst = new
ReportParameter("parametroInstitucion", AplicacionGrafica.Properties.Settings.Default.empresa);
reportViewer1.LocalReport.SetParameters(miParametroInst);
//Fin asignacin de parmetros
this.reportViewer1.RefreshReport();
}
23.Definir un filtro para el informe
Defina el o los parmetros que permiten filtrar el reporte
24. Para definir el filtro de clic derecho sobre la esquina superior izquierda de
la tabla que contiene los datos del reporte
25.Se define un filtro que buscar productos por medio de una comparacin like con el
nombre del producto.
26.Para el valor a comparar utilice el parmetro parametroNombreProducto
27.Agregue a Form del reporte un TextBox y un botn Buscar Producto
28.En el evento Load del Form o en el evento que corresponda, defina el parmetro de
manera que al inicio el filtro permita que se muestren todos los productos, luego en el
botn de filtrar se definir el parmetro especfico por el que se desea filtrar el
informe
private void FrmReporteProductos_Load(object sender, EventArgs e)
// TODO: esta lnea de cdigo carga datos en la tabla 'DataSetProductos.DataTable1'
//Puede moverla o quitarla segn sea necesario.
this.DataTable1TableAdapter.Fill(this.DataSetProductos.DataTable1);
//Definicin de parmetros
//Para que al inicio cargue todo el reporte **
ReportParameter miParametroNombre = new
ReportParameter("parametroNombreProducto", "**");
reportViewer1.LocalReport.SetParameters(miParametroNombre);
this.reportViewer1.RefreshReport();
//Fin de definicin de parmetros
29.En el evento del botn Buscar por nombre de Producto se debe incluir el siguiente
cdigo
private void btnFiltrarPorNombre_Click(object sender, EventArgs e) {
ReportParameter miParametroNombre = new
ReportParameter("parametroNombreProducto",
"*"+txtNombreProducto.Text+"*");
reportViewer1.LocalReport.SetParameters(miParametroNombre);
this.reportViewer1.RefreshReport();
}
Diseo Reportes a partir de un List de Objetos
En la capa entidad en Producto:
Debe existir un mtodo que retorne un List de Objetos Producto
public class Producto {
public int ProductoId {set;get;}
public double UnidadesEnStock{set;get;}
public Categoria oCategoria{set;get;}
public String NombreProducto { set; get; }
public double PrecioUnitario { set; get; }
public string Peso { set; get; }
public int CategoriaId {
get { return oCategoria.CategoriaId; }
}
public String CategoriaDescripcion
{
get { return oCategoria.NombreCategoria; }
}
}