PDF de programación - Ejemplo2- Tablas

Imágen de pdf Ejemplo2- Tablas

Ejemplo2- Tablasgráfica de visualizaciones

Publicado el 29 de Mayo del 2017
1.423 visualizaciones desde el 29 de Mayo del 2017
322,7 KB
8 paginas
Creado hace 11a (09/11/2012)
EJEMPLO 2. TABLAS

En este ejemplo vamos a ver la forma de crear tablas con los datos de clase de objetos.

Para ello disponemos de una vista con los datos de los alumnos y los cursos que han realizado.

En el formulario principal vamos a crear una lista para poder filtrar los datos que sacaremos

por el informe.

Empezamos creando un nuevo elemento “Web Form” llamado ejer2.aspx.



CREAR DESPLEGABLE PARA FILTRAR LOS DATOS

En el formulario anterior, arrastramos el componente DropDownList para crear la lista y

habilitamos su autopostback. Esto es necesario para que, al cambiar de elemento en la lista, se

llame de nuevo al formulario y se filtren los datos.



Ahora es el momento de cargar los elementos del listado. Esta vez, vamos a cargar los datos,

tanto de la lista como del informe, de forma manual (por código).

Pulsamos sobre el DropDownList en modo diseño y en sus eventos hacemos doble click en

Load. Nos aparecerá la función que se ejecuta cuando se carga el componente.





En el nuevo evento creado insertamos el siguiente código:

//Para que se cargue solamente la primera vez
if (!IsPostBack)
{
//Cargamos los datos
DropDownList1.DataSource = new ClaseAlumnos().Filtrar("");
//Elegimos el campo de texto para el desplegable
DropDownList1.DataTextField = "NOMBRE";
//elegimos el campo de valor para el desplegable
DropDownList1.DataValueField = "NIF";
//Pintamos el desplegable
DropDownList1.DataBind();

//Insertamos una opción en el primer lugar del desplegable
DropDownList1.Items.Insert(0, new ListItem("--Todos los alumnos--", ""));
}


Ahora ya tenemos creado el desplegable que va a filtrar los datos, por lo tanto empecemos a

crear el informe.



REPORTVIEWER

A continuación del desplegable, arrastraremos un nuevo componente ReportViewer con su

ScriptManager que será donde mostremos los datos.

Seleccionando sobre el objeto ReportViewer y viendo sus propiedades, cambiamos la llamada

“SizeToReportContent” a True. Esto hará que el ReportViewer se ajuste al tamaño que tenga el



informe.

INFORME

Ahora es el momento de crear el informe. Pulsamos con el botón derecho en el proyecto y

agregamos un nuevo elemento de tipo informe.



Lo primero que debemos hacer con el informe es crear el nuevo conjunto de datos. Para ello,

seleccionamos “nuevo/conjunto de datos…” y esta vez seleccionamos la opción “global”. En

global es donde tendremos todas nuestras clases.

Solamente faltaría seleccionar el método elegido, que en nuestro ejemplo será Filtrar de

ClaseAluCursos.





Arrastramos el elemento tabla e introducimos en ella todos los campos de la clase.

Para arrastrar más campos de los tres que hay por defecto tenemos dos opciones:

-Botón derecho sobre una columna y seleccionar “insertar columna”.

-Arrastrar hasta la tabla el nuevo campo y soltar al ver que la columna se pinta de azul como

en la siguiente imagen.



Así es como queda nuestro informe:



Ahora solamente queda enlazar los datos del ReportViewer al informe.



Creamos una función que será la encargada de actualizar el ReportViewer

private void ActualizarReport()
{
//Recojo el valor del desplegable
string valor = DropDownList1.SelectedValue;

//Limpio los enlaces del ReportViewer
ReportViewer1.LocalReport.DataSources.Clear();
//Asigno el nuevo enlace de datos
ReportViewer1.LocalReport.DataSources.Add(new ReportDataSource("DataSet1", new
ClaseAluCursos().Filtrar(valor)));
//Asigno el nuevo informe al ReportViewer
ReportViewer1.LocalReport.ReportPath = "Report2.rdlc";
//Pinto el Reportviewer
ReportViewer1.LocalReport.Refresh();
}


En el evento Load del ReportViewer hacemos una llamada a ActualizarReport para hacer una

carga inicial.

//Si no lo ponemos entra en un bucle debido a que el ReportViewer utiliza llamadas ajax internamente
if (!IsPostBack)
{
ActualizarReport();
}


Ya solo queda hacer que el ReportViewer se actualice por cada cambio del desplegable. Para

ello llamamos a la función ActualizarReport desde el método IndexChanged del DropDownList.

protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
ActualizarReport();
}


GRUPOS

Hay veces que necesitamos agrupar los datos en grupos para mostrar los datos mas

ordenados.

Para agregar un grupo a nuestro informe, arrastramos el campo hasta el panel de grupo de

filas situado en la parte de abajo del área de trabajo. Sitúalo encima de la fila denominada

detalles.

Podemos agregar tantos grupos como queramos.

Al agregar el grupo se creará una nueva columna de grupo:





TOTALES

Podemos agregar totales dentro de un grupo o de forma global a todos.

Para ello, hay que ir al panel de grupo mencionado anteriormente u seleccionar la opción

“agregar total”.

Si lo hacemos al elemento detalles se creará el total dentro de los elementos del grupo. Si lo

hacemos al grupo se creará el total global a todos los elementos.



FORMATO FECHA

Como vemos en

la última

imagen,

las fechas no tienen el formato que deseamos

(DD/MM/YYYY). Para conseguir esto, tendremos que hacer uso de una de las propiedades de

los cuadros de texto.

Seleccionamos con el botón derecho el campo de fecha y elegiremos “Propiedades de cuadro

de texto…” en su menú.

Una vez en las propiedades, en la solapa “Número” podremos elegir el formato que deseamos

para el elemento.



DISEÑO TABLA

Solo con darle el aspecto que deseemos al informe (desde las propiedades Font o Background)

este diseño se trasladará a nuestro pdf, Excel…

TABLAS EN DISTINTAS HOJAS DE EXCEL

Para poder mostrar varias hojas en Excel debemos utilizar la propiedad “PageBreak” de la

tabla. Veamos un ejemplo:

Al ejemplo que tenemos le colocamos otra tabla posteriormente con algunos datos.



Si observamos el resultado, el Excel resultante nos mostrará una tabla encima de otra. Para

poder separarlas en varias hojas, seleccionamos la primera tabla y, a su propiedad

“PageBreak”, le damos el valor “end”.



Esto hará que el resultado nos lo muestre en ambas hojas o, en caso de Word o pdf, cambie de

hoja al finalizar la primera tabla.
  • Links de descarga
http://lwp-l.com/pdf3756

Comentarios de: Ejemplo2- Tablas (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad