Está en la página 1de 12

Universidad de El Salvador

Facultad Multisciplinaria de Occidente


Escuela de Ingeniería y Arquitectura
Programación III, Ciclo II/2007

GUÍA PRÁCTICA Nº 1: Controles Vinculados

DURACIÓN
60 minutos aproximadamente.

OBJETIVOS
El estudiante finalizar la práctica basada en esta guía, habrá cubierto las siguientes
actividades introductorias:

1. Utilizar una conexión de datos existente en Visual Studio


2. Crear un DataSet mediante el asistente para Orígenes de datos
3. Crear DataAdapters y DataTables mediante el asistente para Orígenes de datos
4. Crear un formulario vinculado con un DataTable
5. Filtrado de DataTables a través de un BindingSource

METODOLOGÍA
Cada estudiante, previo estudio de la guía propuesta, procederá a desarrollarla de
manera individual, durante el tiempo programado y asignado para las prácticas
correspondientes dentro del laboratorio, asistido por al menos un instructor responsable
de dicha práctica.

INTRODUCCIÓN
El acceso a datos involucra algunas tareas que son comunes e independientes al
lenguaje de programación que se emplee, por ejemplo, para recuperar registros de una
base de datos, normalmente deberá crear una conexión al motor de datos, solicitar ó
consultar los datos específicos (puede ser una consulta, una edición ó eliminación en
dichos datos), recibir la información del servidor y mostrar los datos, para finalmente
cerrar la conexión.

ADO.Net (ActiveX Data Objects) es un modelo de objetos que brinda la gestión del
acceso desconectado de datos en el framework .NET, cuyas clases se encuentran
contenidas dentro del espacio de nombres System.Data, las cuales proporcionan acceso
desconectado a los datos y un modelo de programación con soporte XML. Dentro de ADO

Juan Carlos Peña Morán


jcpena_sv@yahoo.com
se contemplan dos elementos fundamentales: los DataSet y los Proveedores de datos
(Connection, Command, DataReader y DataAdapter).

Existen dos maneras de trabajar con datos: bajo un entorno conectado y uno
desconectado, las cuales varían de acuerdo al tipo de conexión que mantienen con la
fuente de datos. Esta práctica se centrará en el acceso de datos desconectado, ya que es
el entorno más común y habitual para las aplicaciones actuales.

DESARROLLO
Durante esta práctica se creará un formulario con componentes enlazados a una fuente
de datos, cuya información podrá filtrarse de manera dinámica mediante una caja de
texto.

1. Abra VS y cree una aplicación para Windows

2. Vaya al menú Datos y escoja la opción Mostrar Orígenes de Datos

Juan Carlos Peña Morán


jcpena_sv@yahoo.com
Esto causará que se muestre el panel de Orígenes de datos, desde donde se
pueden administrar las fuentes de datos del proyecto, sean estas repositorios de
datos, motores de datos ó servicios web.

Escoja Agregar nuevo origen de datos. Esto iniciará un asistente que le ayudará a
configurar su fuente de datos:

a. Escoja Base de datos y haga clic en Siguiente

Juan Carlos Peña Morán


jcpena_sv@yahoo.com
b. Escoja la conexión de datos que desee usar ó cree una nueva

c. Se le preguntará si desea crear una entrada en el archivo de configuración


de su proyecto (app.conf ó web.config dependiendo de su tipo de
aplicación) para la cadena de conexión aunque no es indispensable, es
buena idea contestar Sí para facilitar la administración de las conexiones

Juan Carlos Peña Morán


jcpena_sv@yahoo.com
d. Por el momento ha creado la Conexión a su repositorio de datos, a
continuación el asistente continuará ayudándole a crear su Conjunto de
datos (DataSet):

Juan Carlos Peña Morán


jcpena_sv@yahoo.com
e. Por el momento, no interesan todos los elementos de la Base de datos, así
que escoja las entidades que desee, haciendo clic en las cajas de chequeo
estas; para este caso en particular serán las tablas Personas,
PersonasNaturales y Empleados. Finalmente, escoja el nombre que
desea darle al DataSet y haga clic en Finalizar. Con esto, ha terminado de
crear ó incluir una Conexión y un DataSet. Ahora, dentro del panel
Orígenes de datos, puede observar que se muestra su DataSet, con cada
una de los DataTables que contiene, que de ahora en adelante estarán
disponibles para toda su aplicación.

3. Ahora creará una DataGrid Vinculado. Desde la ventana de Orígenes de datos,


arrastre el DataTable PersonasNaturales hasta el formulario:

Juan Carlos Peña Morán


jcpena_sv@yahoo.com
VS ha generará un DataGrid vinculado con la tabla que seleccionó, incluyendo
todos los campos que contiene. Además, agregará un objeto de tipo
BindingNavigator (mostrado en la parte superior de la imagen anterior) que podrá
utilizar para desplazarse por los registros, así como para crearlos, editarlos ó
eliminarlos. Pero probablemente, lo más importante, son los elementos no visuales
que se agregan al formulario (mostrados en la parte inferior de la imagen anterior).
En primer lugar, se agregó el DataSet que creó, además de agregar un
TableAdapter y un BindingSource.

Si ejecuta su aplicación, podrá ver que de manera automática, su formulario se ve


poblado por los datos provenientes de su fuente de datos.

Juan Carlos Peña Morán


jcpena_sv@yahoo.com
4. Además, puede agregar elementos de manera individual. Por ejemplo, para
agregar solamente una caja de texto vinculada con el campo nombres del
DataTable PersonasNaturales, vaya al panel Orígenes de datos, busque el
DataTable en cuestión, extiéndalo (haga clic sobre el ícono [+] ), y arrastre el
campo nombres hasta el formulario

Juan Carlos Peña Morán


jcpena_sv@yahoo.com
Automáticamente se genera una caja de texto vinculada con el campo del
DataTable.

Si vuelve a ejecutar su aplicación notará, como la caja de texto cambia su


contenido de forma dinámica al navegar por los registros mediante el DataGrid ó a
través del BindingNavigator.

5. De manera sencilla, puede escoger la representación que tendrá todo el


DataTable ó cada campo en particular. Por ejemplo para cambiar la forma en que
se mostrará la información de todo el DataTable PersonasNaturales, vaya al
panel Orígenes de datos y haga clic sobre el DataTable en cuestión; justo al lado
del nombre aparece un indicador de una lista desplegable, la cual al ser extendida
muestra el tipo de vista que puede obtener. Inicialmente solo aparecerán las
opciones DataGridView (que es la vista que ocupó para el punto 3 de esta guía),
ninguno (que elimina la representación visual de los datos) y detalles (que agrega
un elemento para cada campo en el DataTable). Escoja la opción detalles y vuelva
a arrastrar el DataTable sobre el formulario.

Juan Carlos Peña Morán


jcpena_sv@yahoo.com
De manera similar, pudiera cambiar la representación individual de los campos
(por ejemplo de un TextBox a un ComboBox, etc.) Observe que no se agrega un
TableAdapter un BindingSource, ó un BindingNavigator cada vez que agrega otro
elemento proveniente del mismo DataTable, lo mismo ocurre con el DataSet.

6. De hecho, la funcionalidad del BindingNavigator está dada por los métodos que
contiene el BindingSource. Una de las posibilidades más interesantes que posee
es la de filtrar el contenido de los DataTables. Para demostrarlo, a continuación se
creará una caja de texto donde se puedan filtrar los registros mostrados por el
formulario.

a. Arrastre una Caja de Texto desde la Caja de Herramientas y dispóngala en


la parte superior del formulario

Juan Carlos Peña Morán


jcpena_sv@yahoo.com
b. Para el evento TextChanged de la caja de texto, agregue el siguiente
método:

Private Sub TextBox1_TextChanged(ByVal sender As System.Object,


ByVal e As System.EventArgs) Handles TextBox1.TextChanged
If (String.IsNullOrEmpty(Me.TextBox1.Text)) Then
Me.PersonasNaturalesBindingSource.RemoveFilter()
Else
Me.PersonasNaturalesBindingSource.Filter = "nombres LIKE '%" _
& Me.TextBox1.Text & "%'"
End If
End Sub

A grandes rasgos, se ha generado un método que es verificado cada vez


que se ingresa texto, y que básicamente agrega como filtro para el
BindingSource el contenido de la caja de texto (de hecho, el contenido de la
propiedad Filter es idéntico a una cláusula WHERE de SQL). No olvide
modificar las líneas de código adecuadas para que coincidan con las de
sus necesidades.

Juan Carlos Peña Morán


jcpena_sv@yahoo.com
c. Al probar su aplicación se dará cuenta que al escribir en su caja de Texto,
el contenido de su DataTable cambiará, limitando los datos a las
coincidencias entre el nombre que digite y los nombres de la columna
nombres de PersonasNaturales.

7. Finalmente guarde su aplicación y cierre VS.

Juan Carlos Peña Morán


jcpena_sv@yahoo.com

También podría gustarte