asp-net

Articulo extraido desde http://www.data2max.com

La implementación de un formulario maestro-detalle en un webform de asp.net 2.0, aplicable a bases de datos de SQLServer, Access o cualquier otra fuente de datos compatible con ADO.NET.

Para comenzar, podemos crear un proyecto nuevo o desde un aspx ya creado (que es lo más usual). Asumiré la última Tongue antes q nada, un formulario maestro-detalle nos permite tener un listado (un control GridView seleccionable) de una tabla y que a su vez, mediante un control Detailsview (u otro) pueden verse los “detalles” de el registro que se seleccionó anteriormente. Mejor pasemos a la práctica:

Agregamos un control Gridview a nuestro webform:

Luego le asignamos un datasource que es la fuente de datos que alimentará nuestro Gridview y seleccionamos en “Nuevo origen de datos…”

En este caso voy a usar una base de datos en SQLServer 2000 llamada Northwind (porque es el que tengo a la mano y además, en todos lados publican ejemplos con SQLServer 2005 express, pero no funciona en muchos hostings o algunos servidores no tan recientes) y mi server se llama SISTEMA, pero puede funcionar exactamente igual en SQLServer 2005, access, oracle u otra fuente de datos, como lo posteé hace un rato, solo es de meterle mano. Así se aprende más.





Estos pasos salen la primera vez que creamos una conexión de datos, las siguientes ya no saldrán, usaremos la que hemos almacenado en el archivo web.config, en este archivo se guardan las configuraciones generales de nuestra aplicación web, es realmente una ventaja, ya que si por cualquier motivo cambia el nombre de servidor o de base de datos, no tendremos que modificar todo nuestro código, solamente la cadena de conexión del web.config.

Siguiendo con el tuto, ahora seleccionamos la tabla donde está la entidad principal a la cual queremos editar/consultar, en este caso es a los empleados (tabla Employees) y seleccionamos los campos: EmployeeID, FirstName y LastName.


Ahora ya tenemos el SQLDataSource creado y configurado (insisto, puede ser un AccessDataSource, OracleDataSource y demás Datasource’s, incluso Datasets por medio de ObjectDataSource).

Luego debemos activar la opción de “Habilitar selección” para hacer seleccionable el gridview.

Podemos ver como va quedando el formulario…si pregunta que debemos almacenar los cambios, diremos que SI.

Pues bien, ya tenemos la parte “maestra” del webform, ahora vamos con el detalle:

Agregamos un control DetailsViewa nuestra página

y seleccionamos nuevo origen de datos

como ya teníamos creada la conexión, solo la seleccionamos.

Ahora viene la parte FUNDAMENTAL de nuestro maestro-detalle. Debemos seleccionar la tabla que contiene los datos del registro que hayamos seleccionado desde el GridView, en nuestro caso sigue siendo la tabla Employees, solo que ahora podemos seleccionar los campos que queramos mostrar, incluyendo la llave primaria (esto es muy importante para que funcione, ya explicaré porqué).

En esta misma ventana, nos vamos al botón WHERE, que será donde especificaremos qué registro mostrará.


En 1 seleccionamos la columna que es llave primaria, el operador = y el origen que será un control
En 2 seleccionamos en ID de control de origen, al control (valga la redundancia) que será el que seleccionará el registro, en nuestro caso es GridView1 y hacemos clic en el botón Agregar.
Esto se traduce algo así como: “el detailsView mostrará el registro que concuerde con el ID del origen, que será igual a un control (GridView1) en la propiedad SelectedValue”, que automáticamente la seleccionará.

Por ahora nuestro formulario es funcional, pero le podemos agregar la particularidad de poder editar y eliminar registros. Para ello, en la misma ventana de configuración de origen de datos, damos clic al botón de Avanzadas y activamos la opción de Generar instrucciones Insert, Update y Delete
–>

Luego el botón de Siguente y Finalizar.

Ahora solo queda activarle las opciones al DetailsView para que pueda hacer modificaciones a los registros.
Para ello seleccionamos el DetailsView y activamos las opciones que queramos que haga, Insertar un nuevo registro, Editar un registro existente o eliminar el registro (siempre y cuando no tenga registros “hijos” en otras tablas, ya que puede dar error de referencias).

Listo, ahora nuestro formulario está 100% funcional.

Inténtenlo ustedes mismos con bases de datos distintas. Para usar la base de datos NorthWind, pueden bajarla directamente del sitio de microsoft http://www.microsoft.com/downloads/details.aspx?FamilyID=06616212-0356-46a0-8da2-eebc53a68034&displaylang=en, pero les recomiendo usar una base de datos propia de cada uno de ustedes, para que puedan aplicar los nuevos conocimientos que puedan encontrar. Cool

Links Relacionados:
ASP .NET Aplicacion 3 Capas 1ra parte
ASP .NET Aplicacion 3 Capas 2da parte
ASP .NET Autenticar Usuarios con Formularios
C# Autenticar Usuarios con Formularios y Bases de Datos

About these ads