Tutorial: Crear una tabla de búsqueda en una aplicación Windows Forms

Una tabla de búsqueda se utiliza para mostrar información de una tabla basada en el valor de un campo de clave externa en otra tabla. Por ejemplo, considérese una tabla de pedidos (Orders) en una base de datos de ventas. Cada registro de la tabla incluye un CustomerID que indica el cliente que ha realizado el pedido. El CustomerID es una clave externa que señala a un registro del cliente en la tabla Customers. Al presentar una lista de pedidos (de la tabla Orders), se puede mostrar el nombre real de los clientes, a diferencia del CustomerID. Como el nombre de los clientes se encuentra en la tabla Customers, y está presentando datos desde la tabla Orders, hay que crear una tabla de búsqueda que tome el valor CustomerID en el registro Orders y utilice ese valor para navegar por la relación y devolver el nombre de cliente pertinente. Este concepto se conoce como tabla de búsqueda.

Las tareas ilustradas en este tutorial incluyen:

Requisitos previos

Para completar las tareas de este tutorial, necesitará:

Crear una nueva aplicación para Windows

Para crear el nuevo proyecto de aplicación para Windows

  1. Desde el menú Archivo, cree un nuevo proyecto.

  2. Asigne al proyecto el nombre LookupTableWalkthrough.

  3. Seleccione Aplicación para Windows y haga clic en Aceptar. Para obtener más información, vea Crear aplicaciones basadas en Windows.

    Se crea el proyecto LookupTableWalkthrough y se agrega al Explorador de soluciones.

Crear un nuevo origen de datos

Para crear el origen de datos

  1. En el menú Datos, haga clic en Mostrar orígenes de datos.

  2. En la ventana Orígenes de datos, seleccione Agregar nuevo origen de datos para iniciar el Asistente para configuración de orígenes de datos.

  3. Seleccione Base de datos en la página Elegir un tipo de datos de origen y luego haga clic en Siguiente.

  4. En la página Elegir la conexión de datos realice una de las siguientes operaciones:

    • Si una conexión de datos a la base de datos de ejemplo Northwind está disponible en la lista desplegable, selecciónela.

      O bien

    • Seleccione Nueva conexión para iniciar el cuadro de diálogo Agregar o modificar conexión. Para obtener más información, vea Agregar/Modificar conexión (Cuadro de diálogo, General).

  5. Si su base de datos requiere una contraseña, seleccione la opción para incluir datos confidenciales y haga clic en Siguiente.

  6. Haga clic en Siguiente en la página Guardar la cadena de conexión en el archivo de configuración de la aplicación.

  7. Expanda el nodo Tablas en la página Elija los objetos de base de datos.

  8. Seleccione las tablas Customers y Orders y, a continuación, haga clic en Finalizar.

    Se agrega NorthwindDataSet al proyecto y aparecen las dos tablas en la ventana Orígenes de datos.

Crear controles enlazados a datos en el formulario

Para crear controles enlazados en el formulario

  1. Expanda el nodo Customers en la ventana Orígenes de datos.

  2. Cambie el tipo Drop de la tabla Orders relacionada a Details seleccionando Details en la lista de controles del nodo Orders. Para obtener más información, vea Cómo: Establecer el control que se creará al arrastrar desde la ventana de orígenes de datos.

  3. Expanda el nodo relacionado Orders y cambie el tipo Drop de la columna CustomerID a un cuadro combinado seleccionando ComboBox en la lista de controles del nodo CustomerID.

  4. Arrastre el nodo Orders relacionado desde la ventana Orígenes de datos hasta Form1.

    Los controles enlazados a datos con etiquetas descriptivas aparecen en el formulario, junto con una barra de herramientas (BindingNavigator) para navegar por los registros. En la bandeja de componentes aparecen NorthwindDataSet, CustomersTableAdapter, BindingSource y BindingNavigator.

Crear la tabla de búsqueda

La tabla de búsqueda se establece definiendo propiedades del cuadro combinado CustomerID:

Para crear la funcionalidad de la tabla de búsqueda en el formulario

  • Arrastre el nodo Customers desde la ventana Orígenes de datos directamente hasta el cuadro combinado CustomerID de Form1.

    Nota

    La tabla siguiente sólo sirve como referencia, pues las propiedades se establecen automáticamente en el procedimiento anterior, durante la acción de arrastrar y colocar. El diseñador establece las propiedades siguientes como se explica en el apartado "Explicación del parámetro" más adelante. Dependiendo de las estructuras de la tabla, es posible que tenga que ajustar las propiedades de la tabla de búsqueda para que funcione correctamente.

    Propiedad

    Explicación del parámetro

    DataSource

    Visual Studio establece esta propiedad en el elemento BindingSource creado para la tabla que ha arrastrado al control (a diferencia del elemento BindingSource creado al mismo tiempo que el control).

    Si necesita realizar un ajuste, establezca esta propiedad en el elemento BindingSource de la tabla con la columna que desea mostrar. (CustomersBindingSource en este tutorial).

    DisplayMember

    Visual Studio establece esta propiedad en la primera columna tras la clave principal que tiene un tipo de datos String para la tabla que ha arrastrado al control.

    Si necesita realizar un ajuste, establezca esta propiedad en el nombre de la columna que desea mostrar.

    ValueMember

    Visual Studio establece esta propiedad en la primera columna que participa de la clave principal, o la primera columna de la tabla si no se ha definido ninguna clave.

    Si necesita realizar un ajuste, establezca esta propiedad en la clave principal de la tabla con la columna que desea mostrar.

    SelectedValue

    Visual Studio establece esta propiedad en la columna original arrastrada desde la ventana Orígenes de datos.

    Si necesita realizar algún ajuste, establezca esta propiedad en la columna de clave externa en la tabla relacionada. (CustomerID en la tabla Orders de este tutorial).

Ejecutar la aplicación

Para ejecutar la aplicación

  1. Presione F5.

  2. Navegue por los pedidos y compruebe que el cuadro combinado CustomerID muestra el CompanyName para cada pedido de la tabla Customers (a diferencia de la columna CustomerID de la tabla Orders).

Pasos siguientes

Dependiendo de los requisitos de la aplicación, hay varios pasos que se pueden realizar después de crear un formulario enlazado a datos. Entre las mejoras que podría realizar en las tareas de este tutorial se incluyen:

Vea también

Conceptos

Enlazar controles de Windows Forms a datos en Visual Studio

Información general sobre orígenes de datos

Información general sobre TableAdapter

Enlazar controles a los datos en Visual Studio

Otros recursos

Tutoriales sobre datos

Conectarse a datos en Visual Studio

Preparar la aplicación para recibir datos

Buscar datos en la aplicación

Modificar datos en la aplicación

Validar datos

Guardar datos