Lección 02: Microsoft Visual Studio

Anuncio
Lección 10:
Gestionando bases de datos SQL Server con ASP.NET
CONTROLES DE DATOS ENRIQUECIDOS
Introducción

Las aplicaciones Web obtienen acceso normalmente a los orígenes de datos para el
almacenamiento y la recuperación de datos dinámicos. Se puede escribir código para el
acceso a los datos utilizando clases del espacio de nombres System.Data (normalmente
denominado ADO.NET) y del espacio de nombres System.Xml. Este enfoque era normal
en versiones anteriores de ASP.NET.

Sin embargo, ASP.NET también permite realizar el enlace de datos mediante
declaración. Este proceso no requiere la existencia de código para los escenarios de
datos más comunes, entre los que se incluyen:


Seleccionar y mostrar datos.

Ordenar, paginar y almacenar datos en memoria caché.

Actualizar, insertar y eliminar datos.

Filtrar datos utilizando parámetros en tiempo de ejecución.

Crear escenarios de detalles maestros utilizando parámetros.
ASP.NET incluye dos tipos de controles de servidor que participan en el modelo de
enlace de datos declarativo: controles de origen de datos y controles enlazados a
datos. Estos controles administran las tareas subyacentes requeridas por el modelo
Web sin estado para mostrar y actualizar datos en páginas Web ASP.NET. Por tanto, no
es estrictamente necesario conocer los detalles del ciclo de vida de la solicitud de
página si sólo se va a realizar el enlace de datos.
Controles de origen de datos…

Los controles de origen de datos son controles ASP.NET que administran las
tareas de conexión a un origen de datos y de lectura y escritura de datos. Los
controles de origen de datos no representan ninguna interfaz de usuario, sino
que actúan como intermediarios entre un almacén de datos en particular
(como una base de datos, un objeto comercial o un archivo XML) y los demás
controles de la página Web ASP.NET. Los controles de origen de datos habilitan
un amplio conjunto de funciones para recuperar y modificar datos, entre las
que se incluyen la consulta, la ordenación, la paginación, el filtrado, la
actualización, la eliminación y la inserción.
…Controles de origen de datos
Control de origen
de datos
Descripción
AccessDataSource
Permite trabajar con una base de datos de Microsoft Access.
LinqDataSource
Permite usar Language-Integrated Query (LINQ) en una página web ASP.NET a través de marcado
declarativo para recuperar y modificar datos de un objeto de datos. Admite la generación
automática de comandos de selección, actualización, inserción y eliminación. El control también
admite ordenación, filtrado y paginación.
ObjectDataSource
Permite trabajar con un objeto comercial u otra clase y crear aplicaciones Web basadas en objetos
de nivel medio para administrar los datos.
SiteMapDataSource
Se utiliza con la navegación en el sitio ASP.NET.
SqlDataSource
Permite trabajar con proveedores de datos administrados de ADO.NET, que proporcionan acceso a
bases de datos de Microsoft SQL Server, OLE DB, ODBC u Oracle.
XmlDataSource
Permite trabajar con un archivo XML, que es especialmente útil para controles de servidor ASP.NET
jerárquicos tales como el control TreeView o Menu.
Controles enlazados a datos…

Los controles enlazados a datos representan datos como marcado al
explorador que realizó la solicitud. Un control enlazado a datos se puede
enlazar a un control de origen de datos y buscar datos automáticamente en el
momento apropiado del ciclo de vida de la solicitud de página. Los controles
enlazados a datos pueden aprovechar las ventajas de las funciones
proporcionadas por un control de origen de datos entre las que se incluyen la
ordenación, la paginación, el almacenamiento en caché, el filtrado, la
actualización, la eliminación y la inserción. Un control enlazado a datos
establece una conexión con un control de origen de datos a través de su
propiedad DataSourceID.
…Controles enlazados a datos
DataGrid: DataGrid fue introducido en ASP.NET 1.0 pero fue completamente remplazado por GridView en ASP.NET 2.0.
GridView propociona el mismo conjunto de características (y más) y simplifica el modo de codificar. Por defecto, DataGrid no
aparece en el Toolbox de Visual Studio.
DataList: DataList fue introducido en ASP.NET 1.0 y también fue remplazado por GridView, el proporciona un conjunto de
plantillas similares y modelo de codigo mucho más simple. El control DataList tiene una característica que no es
proporcionada por el control GridView: la habilidad para crear una tabla multicolumna donde cada celda es un registro
separado. El control GridView no soporta este inusual diseño, ya que forza a cada registro a ocupar una fila separada. De
cualquier manera, se puede obtener este resultado con el nuevo control ListView.
Repeater: El control Repeater fue introducido en ASP.NET 1.0. El control Repeater fue remplazado por el control ListView, el
cual ofrece la misma flexibilidad pero además incluye características como selección, ordenamiento y edicción.
GridView: El control GridView es el control todo en uno en ASP.NET. Este control muestra registros en la fila de una tabla,
esto usando multiples columnas, plantillas, o alguna combinación de las dos. El control GridView fue introducido en ASP.NET
2.0.
ListView: Es un control flexible basado en plantilla que no ofrece todas las características de el control GridView pero
proporciona flexibilidad para renderiar los datos con una etiqueta <table>. El control ListView fue introducido en ASP.NET 3.5.
DetailsView: El control DetailsView es el más poderoso control ASP.NET para mostrar los datos desde un solo registro a la vez.
Este control usa un diseño tabular y soporta plantillas. Fue introducido en ASP.NET 2.0.
FormView: El control FormView, al igual que el DetailsView, esta diseñado para mostrar datos desde un solo registro. También
requiere plantillas. La única ventaja real es que proporciona la habilidad para mostrar datos de forma no tabular. Este control
fue introducido en ASP.NET 2.0.
El control GridView

Es un control de cuadrícula extremadamente flexible para mostrar datos en
una cuadrícula básica consistente de filas y columnas. Este control incluye un
amplio rango de características, incluyendo selección, paginación,
ordenamiento y edición. Además estas características son extensibles a través
de plantillas. La gran ventaja de los controles GridView sobre los DataGrid es
que soportan diferentes escenarios de codigo. Usando GridView, puedes
realizar muchas tareas comunes, como paginación y selección, sin escribir
código.
Tipos de columna del control GridView
Columna
BoundField
ButtonField
CheckBoxField
CommandField
HyperLinkField
ImageField
TemplateField
Descripción
Esta columna muestra texto de un campo en la fuente de datos.
Esta columna muestra un botón para cada item en la lista.
Esta columna muestra una casilla de verificación para cada elemento
de la lista. Se usa automáticamente para campos verdadero/falso.
Esta columna propociona botones de selección o edición.
Esta columna muestra su contenido (un campo de la fuente de datos o
de texto estático) como un hipervínculo.
Esta columna muestra los datos de imagen de un campo binario
(siempre que pueda interpretarse con éxito el formato de imagen
compatible).
Esta columna le permite especificar varios campos, controles
personalizados, y HTML arbitrario usando una plantilla personalizada.
Le da el más alto grado de control, pero requiere más trabajo.
Propiedades de BoundField
Propiedad
DataField
DataFormatString
ApplyFormatInEditMode
HeaderText, FooterText, y
HeaderImageUrl
ReadOnly
InsertVisible
Visible
SortExpression
HtmlEncode
NullDisplayText
ConvertEmptyStringToNull
ControlStyle, HeaderStyle,
FooterStyle, y ItemStyle
Descripción
Esta propiedad indica el nombre del campo (de una fila) o propiedad (de un objeto) del elemento de datos que desea mostrar en esta
columna.
Esta propiedad formate los campos. Es útil para conseguir la representación correcta de números y fechas.
Si es verdero, la cadena de formato se utlizará para dar formato al valor aún cuando aparezca en un cuadro de texto en modo de
edición. El valor predeterminado es falso, lo que significa que sólo el formato subyacente normal se utilizará.
Las dos primera propiedades establecen el texto en la región de encabezado y pie de página de la cuadrícula, si esta cuadrícula tiene
una cabecera (GridView.ShowHeader es verdadero) y pie de página (GridView.ShowFooter es verdadero). La cabecera es más
comúnmente utilizada para un título descriptivo, como el campo nombre, mientras que el pie de página puede contener un valor
calculado dinámicamente, como un resumen. Para mostrar una imagen en el encabezado en lugar de texto, establezca la Propiedad
HeaderImageUrl.
Si es verdadero, el valor para esta columna no puede ser cambiado en modo de edición.
Si es falso, el valor de estta columna no puede establecers en modo de inserción. Si quiere un valor de columna para establecer
mediante programación o sobre la base de un valor por defecto definido en la base de datos, puede utilizar esta característica.
Si es falsa, la columna no será visible en la página. Esta propiedad le da una manera conveniente de programación para ocultar o
mostrar columnas específicas, al cambiar la visión de conjunto de los datos.
Esta propiedad especifica una expresión que puede ser añadida a una consulta para realizar una ordenación basada en esta columna.
Si es verdadero (por defecto), todo el texto se codifica en HTML.
Esta propiedad define el texto que se mostrará pora un valor nulo. El valor predeterminado es una cadena vacía, aunque podría
cambiar a un valor no modificable.
Si es verdadeo, antes de que una edición se complete, todas las cadenas vacias se convertirán a valores nulos.
Estas propiedades configuran la apariencia sólo de esta columna, anulando los estilos de la fila.
El control ListView

El control ListView es el único nuevo control de datos en ASP.NET 3.5. Está
diseñado para reemplazar al control Repeater.

Esencialmente, el ListView es un control enlazado a datos muy flexible que
despliega su contenido sobre la base de las plantillas que usted define. A
diferencia del Repeater, el ListView añade características de nivel superior
tales como la selección y edición, que trabajan de la misma forma que los del
GridView. Pero a diferencia del GridView, el control ListView no admite un
modelo basado en campos para la creación rápida y fácil de cuadriculas con
un mínimo de lenguaje de marcado.
Plantillas del control ListView
Modo
ItemTemplate
ItemSeparatorTemplate
Descripción
Establece el contenido de cada elemento de datos (si usted no está utilizando el
AlternatingItemTemplate) o celdaS impares de datos (si lo está).
Utilizada en conjunto con la propiedad ItemTemplate para dar formato a filas pares e
impares de manera diferente.
Establece el contenido del separador que es trazada entre los items.
SelectedItemTemplate
Establece el contenido del elemento que está seleccionado actualmente.
EditItemTemplate
Establece los controles utilizados para un elemento en modo de edición.
InsertItemTemplate
LayoutTemplate
Establece los controles utilizados para insertar un nueve elemento.
Establece el lenguaje de marcado que envuelve a la lista de elementos.
GroupTemplate
Establece el lenguaje de marcado que envuelve a cada grupo de artículos, si estás
utilizando la función de agrupación.
Establece el contenido del separador que es trazado entre los grupos de elementos.
AlternatingItemTemplate
GroupSeparatorTemplate
EmptyItemTemplate
EmptyDataTemplate
Establece el contenido que se utiliza para rellenar los valores vacíos en el último
grupo, si está utilizando la agrupación.
Establece el lenguaje de marcado usado si el objeto de enlace de datos esta vacio.
El control DetailsView

El DetailsView está diseñado para mostrar un único registro a la vez. Se
coloca cada pieza de información (ya sea un campo o una propiedad) en una
fila distinta de una tabla.

El control DetailsView también puede enlazarce a una colección de
elementos. En este caso, muestra el primer elemento en el grupo. También le
permite pasar de un registro a otro usando los controles de paginación, si se
ha establecido la propiedad AllowPaging en verdadero. Puede configurar los
controles de paginación utilizando las propiedades PagingStyle y
PagingSettings de la misma forma que ajusta el localizador para el GridView.
La única diferencia es que no hay soporte para paginación personalizada, lo
que significa que todos los datos del objeto de origen de datos siempre se
recuperan.
El control DetailsView

Si necesita la máxima flexibilidad de las plantillas, FormView proporciona un modelo de
control único para la visualización y edición de un único registro.

El modelo de plantilla de FormView es que coincide mucho con el modelo de la
TemplateField en GridView. Por lo tanto, usted tiene las siguientes plantillas para trabajar:


ItemTemplate

EditItemTemplate

InsertItemTemplate

FooterTemplate

HeaderTemplate

EmptyDataTemplate

PagerTemplate
Esto significa que puede tomar el modelo exacto del contenido que se pone en un
TemplateField en un GridView y colocarlo dentro del FormView.
Práctica Dirigida

Utilizando controles de datos enriquecidos.
Descargar