Ir al contenido principal

V SEMESTRE: ASP.NET(DRAPI) - Crear Versión Imprimible de una página

Buenas noches:

Vamos a crear una aplicación que puedes ser de utilidad si desean crear una versión imprimible de una página. El concepto es bastante simple en realidad se trata de crear una página con contenido igual al de otra, pero con un formato más sencillo para enviar por impresora..

Requisitos:

Para diseñar esta aplicación necesitamos lo siguiente


  • Visual Web Developer Express Edition
  • 2 Formularios web
  • Conexión a Base de Datos
  • Secuencias de comando del lado del cliente (JavaScript)


Comenzaremos por lo más simple, la configuración de la página predeterminada. Abrimos Web Developer y creamos un Web Site común. Como ya es de su conocimiento, se ha creado la página Default.aspx, con esta página comenzaremos la sesión de hoy:

Diseñaremos una interfaz sencilla, tendrá la siguiente apariencia:



Como podemos apreciar, tenemos la lista de los siguientes elementos y controles de usuario:


  • Tabla
  • TextBox(1)
  • Button (2)
  • LinkButton (1)
  • SqlDataSource (Conectado a Northwind, tabla Customers)
  • GridView (Enlazado a SqlDataSource1)

Cabe señalar lo siguiente: el control SqlDataSource1 debe tener especificado un criterio de filtro, bajo el campo ContactName y el TextBox del formulario:

De momento eso es lo que requerimos para que la página funcione sin mayores contratiempos como lo hemos visto en otros ejemplos similares.

La idea parte de lo siguiente, como es bastante notorio, la página que hemos creado está con formato, lo cual podría no ser lo más apropiado al momento de imprimir.Para lograr esto haremos que nuestro LinkButton me permita crear una ventana nueva en tiempo de ejecución y en esa ventana nueva presentar la misma data que en Default.aspx pero sin formato exagerado. para llegar a esto vamos a apoyarnos en un poco de JavaScript. Antes, vamos a agregar un nuevo Web Form a nuestro sitio web y lo guardamos con el nombre "print.aspx".

Ubiquémonos en la página Default.aspx, pero en la vista "Source" y agregamos la siguiente función de JavaScript:




Utilizaremos esta función para configurar el control LinkButton tal como se muestra en la siguiente imagen:





Bien, ahora vamos a la página print.aspx y diseñamos una interfaz parecida a la anterior:



Viendo la lista de controles:

Label(1)
LinkButton (2)
SqlDataSource (1)
GridView (1)

El control SqlDataSource (sqlPrint), debe tener la misma distribución de campos de su antecesora, sólo que el filtro se establece con el control Label insertado arriba.

Cabe señalar lo siguiente, viendo el código en JavScript descrito líneas arriba es fácil darse cuenta que hay un valor que está siendo enviado hacia la página print.aspx, ese valor tenemos que recuperarlo desde print.aspx. Para lograrlo necesitamos entrar al evento Load del objeto Page, una vez ahi escribimos el siguiente código:




Finalmente haremos que los botones "imprimir" y "cerrar" de nuestra página print.aspx funcionen, en realidad es bastante sencillo, vamos a la vista Source y modificamos un poco la definición de ambos controles:




Guardamos el proyecto y ejecutamos la página Default.aspx. Colocamos un criterio de Filtro y probamos el link "versión imprimible". Debe salir un resultado similar al que se aprecia aqui




Mayores alcances se harán en horas de clase.

Comentarios

Entradas populares de este blog

Microsoft Access - Entrega 02

Establecer Índices y Claves primarias: Los índices permiten especificar un orden para la búsqueda de registros, su principal tarea es esta, básicamente cualquier campo de una Tabla puede ser un índice, incluso un conjunto de campos pueden ser índices, (los que suelen denominarse INDICES COMPUESTOS). Para definir un índice en un campo de una tabla basta con especificar la propiedad correspondiente, o también utilizar el botón Índice, tal como se muestra en la Imagen:      Por ejemplo, digamos que nos piden crear un índice compuesto denominado FullName que abarca los campos Apellidos y Nombres. Para realizar esa tarea haga click en el botón Índices y luego configure de acuerdo a la imagen:       Clave Principal: La clave primaria permite identificar de manera única a un registro, por teoría de diseño de base de datos, cada Tabla debe tener su correspondiente clave primaria para facilitar tareas de búsqueda y actualización de registros. Para definir u...

Microsoft Access - Entrega 01

Bienvenidos al curso Online de Microsoft Access 2007, durante el desarrollo del curso iré posteando un sencillo tutorial para aprender a utilizar esta herramienta de gestión de bases de datos, de tal manera que al finalizar todas las entregas Ud. sepa cómo iniciarse en el diseño de Bases de datos así como en la construcción de versátiles aplicaciones. Qué es una base de datos? Una base de datos (en ocasiones abreviada B.D.) es un conjunto de datos pertenecientes a un mismo contexto y almacenados sistemáticamente para su posterior uso. En este sentido, una biblioteca puede considerarse una base de datos compuesta en su mayoría por documentos y textos impresos en papel e indexados para su consulta. En la actualidad, y debido al desarrollo tecnológico de campos como la informática y la electrónica, la mayoría de las bases de datos están en formato digital (electrónico), que ofrece un amplio rango de soluciones al problema de almacenar datos. Fuente: Wikipedia Qué es un Programa Gest...

II Semestre - JAVA: EJERCICIOS SOBRE JERARQUIAS DE HERENCIA

Debate: Discutir las formas en que la herencia promueve la reutilización de software, se ahorra tiempo durante el desarrollo del programa y ayuda a prevenir errores. Ejercicio: Diseñar una jerarquía de herencia para los estudiantes en una universidad. Usar la clase Student como la superclase de la jerarquía, a continuación, extender Student con las clases de UndergraduateStudent y GraduateStudent . Continúe extendiendo la jerarquía tando como sea posible(como muchos niveles). Por ejemplo, Freshman , Sophomore , Junior y Senior podría heredar de UndergraduateStudent , asi mismo  DoctoralStudent y MastersStudent podría ser subclases de GraduateStudent . Despues de diseñar la jerarquía debatir las relaciones que existen entre las clases. [Nota: No es necesario escribir ningún código para este ejercicio.] Debate Algunos programadores prefieren no utilizar el acceso protegido, porque creen que rompe la encapsulación de la superclase. Discutir los méritos relativos de acceso pr...