You are on page 1of 14

Prctica 8 Componente FormView y Validaciones

Miguel Pincheira Caro mpincheir@ubiobio.cl Material recopilado desde la Biblioteca de Clases de .NET Framework

Taller .NET

Miguel Pincheira Caro mpincheir@ubiobio.cl

1/14

Introduccion
El control FormView permite mostrar un registro individual de un origen de datos. Es similar al control DetailsView, exceptuando que muestra plantillas (templates) definidas por el usuario, en lugar de campos de fila. El control FormView ofrece las siguientes caractersticas: Enlace a los controles de origen de datos, como SqlDataSource y ObjectDataSource. Funciones de insercin integradas. Funciones de actualizacin y eliminacin integradas. Funciones de paginacin integradas. Acceso mediante programacin al modelo de objetos FormView para establecer dinmicamente propiedades, controlar eventos, etc. Aspecto personalizable por medio de plantillas, temas y estilos definidos por el usuario. Crear plantillas (templates) ofrece ms flexibilidad para controlar cmo se muestran los datos.
Taller .NET Miguel Pincheira Caro mpincheir@ubiobio.cl 2/14

Templates
Para que el control FormView pueda mostrar contenidos, se deben haber creado plantillas (templates) para las distintas partes del control. El control FormView representa una plantilla diferente para la fila de datos basndose en el modo actual del control (especificado por la propiedad CurrentMode). o Modo: Edit - Plantilla: : EditItemTemplate o Modo: Insert - Plantilla: InsertItemTemplate o Modo: Read-only - Plantilla: ItemTemplate La mayora de las plantillas son opcionales; no obstante, debe existir una plantilla para el modo en el que se configure el control. Los controles de entrada de la plantilla de elementos de edicin y la plantilla de elementos de insercin se pueden enlazar a los campos de un origen de datos utilizando una expresin de enlace bidireccional. Un enlace bidireccional permite al control FormView extraer automticamente los valores del control de entrada para una operacin de actualizacin o insercin. Las expresiones de enlace bidireccionales tambin permiten que los controles de entrada de una plantilla de elementos de edicin muestren automticamente los valores originales de los campos.
Taller .NET Miguel Pincheira Caro mpincheir@ubiobio.cl 3/14

Item Template
Obtiene o establece el contenido personalizado de la fila de datos de un control FormView cuando el control est en modo de slo lectura. La plantilla de elementos normalmente contiene los controles que permiten mostrar los valores de los campos de un registro, as como los botones de comando para editar, insertar y eliminar registros. Para especificar la plantilla personalizada, en primer lugar coloque etiquetas <ItemTemplate> entre las etiquetas de apertura y cierre del control FormView. A continuacin, muestre el contenido de la plantilla entre las etiquetas <ItemTemplate> de apertura y de cierre. Utilice una expresin de enlace de datos para mostrar los valores de los campos del origen de datos enlazado al control. Para crear botones de comando que realizan las operaciones integradas de eliminacin, edicin y creacin de registros, agregue un control de botn de comando a la plantilla con la propiedad CommandName establecida en Delete, Edit o New

Taller .NET

Miguel Pincheira Caro mpincheir@ubiobio.cl

4/14

EditItem Template
Obtiene o establece el contenido personalizado de un elemento en modo de edicin. La plantilla de elementos de edicin normalmente contiene los controles de entrada que permiten al usuario actualizar los valores de un registro existente, as como botones de comando para actualizar el registro y cancelar la operacin de actualizacin. Para especificar la plantilla personalizada, en primer lugar coloque etiquetas <EditItemTemplate> entre las etiquetas de apertura y cierre del control FormView. A continuacin, muestre el contenido de la plantilla entre las etiquetas <EditItemTemplate> de apertura y de cierre. Puede asociar un campo a un control de entrada mediante una expresin de enlace bidireccional. Esto permite al control FormView mostrar automticamente el valor de campo. Cuando se actualiza un registro, el control FormView extrae automticamente el valor del campo actualizado del control de entrada asociado. Para crear botones de comando que realizan las operaciones integradas de cancelacin y actualizacin, agregue un control de botn de comando a la plantilla con su propiedad CommandName establecida en Cancel o Update.
5/14

Taller .NET

Miguel Pincheira Caro mpincheir@ubiobio.cl

InsertItem Template
Obtiene o establece el contenido personalizado de un elemento en modo de insercin. La plantilla de elementos de insercin normalmente contiene controles de entrada que permiten al usuario especificar los valores del nuevo registro, as como botones de comando para insertar el registro y cancelar la operacin de insercin. Para especificar la plantilla personalizada, en primer lugar coloque etiquetas <InsertItemTemplate> entre las etiquetas de apertura y cierre del control FormView. A continuacin, muestre el contenido de la plantilla entre las etiquetas <InsertItemTemplate> de apertura y de cierre. Puede asociar un campo a un control de entrada mediante una expresin de enlace bidireccional. Cuando se inserta un registro, el control FormView extrae automticamente el valor de campo del control de entrada asociado. Para obtener ms informacin sobre las expresiones de enlace bidireccional, vea Establecer enlaces a bases de datos. Para crear botones de comando que realizan las operaciones integradas de cancelacin e insercin, agregue un control de botn de comando a la plantilla con su propiedad CommandName establecida en: Cancel o Update.
Taller .NET Miguel Pincheira Caro mpincheir@ubiobio.cl 6/14

Propiedades
ItemCommand: Se produce cuando se hace clic en un botn de un control FormView. Este evento suele utilizarse para realizar una tarea cuando se hace clic en un botn del control. ItemCreated: Aparece despus de que se creen todos los objetos FormViewRow del control FormView. Este evento suele utilizarse para modificar los valores de un registro antes de mostrarlo. ItemDeleted: Aparece cuando se hace clic en un botn Suprimir (un botn con la propiedad CommandName establecida en "Delete"), pero despus de que el control FormView elimine el registro del origen de datos. Este evento suele utilizarse para comprobar el resultado de la operacin de eliminacin. ItemDeleting: Aparece cuando se hace clic en un botn Suprimir, pero antes de que el control FormView elimine el registro del origen de datos. Este evento suele utilizarse para cancelar la operacin de eliminacin.

Taller .NET

Miguel Pincheira Caro mpincheir@ubiobio.cl

7/14

Propiedades
ItemInserted: Aparece cuando se hace clic en un botn Insertar (un botn con la propiedad CommandName establecida en "Insert"), pero despus de que el control FormView inserte el registro. Este evento suele utilizarse para comprobar los resultados de la operacin de insercin. ItemInserting: Aparece cuando se hace clic en un botn Insertar, pero antes de que el control FormView inserte el registro. Este evento suele utilizarse para cancelar la operacin de insercin. ItemUpdated: Aparece cuando se hace clic en un botn Actualizar (un botn con su propiedad CommandName establecida en "Update"), pero despus de que el control FormView actualice la fila. Este evento suele utilizarse para comprobar los resultados de la operacin de actualizacin. ItemUpdating: Aparece cuando se hace clic en un botn Actualizar, pero antes de que el control FormView actualice el registro. Este evento suele utilizarse para cancelar la operacin de actualizacin. paginacin.

Taller .NET

Miguel Pincheira Caro mpincheir@ubiobio.cl

8/14

Propiedades
ModeChanged: Aparece despus de que cambie el modo del control FormView (al modo de edicin, insercin o slo lectura). Este evento se utiliza a menudo para realizar una tarea cuando cambia el modo del control FormView. ModeChanging: Aparece antes de que cambie el modo del control FormView (al modo de edicin, insercin o slo lectura). Este evento se utiliza a menudo para cancelar un cambio de modo. PageIndexChanged: Aparece cuando se hace clic en uno de los botones del localizador, pero despus de que el control FormView se ocupe de la operacin de paginacin. Normalmente este evento se utiliza cuando se necesita realizar una tarea despus de que el usuario se desplace a otro registro del control. PageIndexChanging: Aparece cuando se hace clic en uno de los botones del localizador, pero antes de que el control FormView se ocupe de la operacin de paginacin. Este evento suele utilizarse para cancelar la operacin de paginacin.

Taller .NET

Miguel Pincheira Caro mpincheir@ubiobio.cl

9/14

Validaciones
ASP.NET ofrece un conjunto de controles de validacin que proporciona una forma eficaz y fcil de usar para comprobar errores y, si es necesario, mostrar mensajes al usuario. Si el usuario trabaja con un explorador que admite HTML dinmico (DHTML), los controles de validacin ASP.NET podrn ejecutar la validacin mediante un script de cliente. Debido a que los controles pueden proporcionar una respuesta inmediata sin una accin de ida y vuelta al servidor, se mejora el trabajo del usuario con la pgina. En la mayora de los casos, no tiene que realizar cambios en la pgina ni en los controles de validacin para utilizar la validacin en el cliente. Los controles detectan automticamente si el explorador admite DHTML y ejecutan su comprobacin consecuentemente. La validacin en el cliente utiliza el mismo mecanismo para mostrar el error que la validacin en el servidor. La validacin se realiza en el servidor aunque ya se haya llevado a cabo en el cliente. Esto permite determinar el estado de la validacin en el cdigo del servidor y proporciona seguridad contra la omisin de la validacin por el usuario.
Taller .NET Miguel Pincheira Caro mpincheir@ubiobio.cl 10/14

Validaciones
Entrada requerida : RequiredFieldValidator Garantiza que el usuario no omite una entrada. Comparacin con un valor : CompareValidator Compara los datos proporcionados por el usuario con un valor constante, con el valor de otro control (mediante un operador de comparacin como menor que, igual que o mayor que) o para un tipo de datos especfico. Comprobacin del intervalo: RangeValidator Comprueba que una entrada de usuario est entre los lmites superior e inferior especificados. Se pueden comprobar los intervalos entre pares de nmeros, caracteres alfabticos y fechas.

Taller .NET

Miguel Pincheira Caro mpincheir@ubiobio.cl

11/14

Validaciones
Coincidencia de modelos: RegularExpressionValidator Comprueba que la entrada del usuario coincide con un modelo definido por una expresin regular. Este tipo de validacin permite comprobar secuencias de caracteres predecibles, como los que aparecen en las direcciones de correo electrnico, nmeros de telfono, cdigos postales, etc. Definida por el usuario: CustomValidator Comprueba la entrada de usuario utilizando la validacin lgica que ha escrito. Este tipo de validacin permite comprobar valores derivados en tiempo de ejecucin. Existe un control relacionado, ValidationSummary, que no realiza ningn tipo de validacin pero suele utilizarse con otros controles de validacin para mostrar los mensajes de error de todos los controles de validacin de la pgina juntos. En un formulario se pueden asociar ms de un control de validacin a un control. Por ejemplo, se podra especificar que se requiera un control y que adems contenga un intervalo de valores especfico.
Taller .NET Miguel Pincheira Caro mpincheir@ubiobio.cl 12/14

Ejemplo de validacin
Para validar una entrada requerida 1. Agregue un control RequiredFieldValidator a la pgina donde existe al menos un Textbox para validar. 2. Establezca las siguientes RequiredFieldValidator: propiedades del control

ControlToValidate: El Id. del control para el que el usuario debe proporcionar un valor (Textbox) ErrorMessage: Propiedades que especifican el texto y ubicacin del error o errores que aparecern si el usuario omite el control.

Taller .NET

Miguel Pincheira Caro mpincheir@ubiobio.cl

13/14

Dudas, Consultas?
Miguel Pincheira Caro mpincheir@ubiobio.cl www.mytinformatica.cl/miguel/

Taller .NET

Miguel Pincheira Caro mpincheir@ubiobio.cl

14/14

You might also like