Creación de tablas de búsqueda en aplicaciones de .NET Framework de WPF
Nota:
Los conjuntos de datos y las clases relacionadas son tecnologías heredadas de .NET Framework de principios de la década de 2000 que permiten a las aplicaciones trabajar con datos en memoria mientras están desconectadas de la base de datos. Las tecnologías son especialmente útiles para las aplicaciones que permiten a los usuarios modificar los datos y conservar los cambios en la base de datos. Aunque los conjuntos de datos han demostrado ser una tecnología de gran éxito, se recomienda que las nuevas aplicaciones de .NET usen Entity Framework Core. Entity Framework proporciona una manera más natural de trabajar con datos tabulares como modelos de objetos y tiene una interfaz de programación más sencilla.
El término tabla de búsqueda (a veces denominada enlace de búsqueda) describe un control que muestra información de una tabla de datos basada en el valor de un campo de clave externa de otra tabla. Puede crear una tabla de búsqueda si arrastra el nodo principal de una tabla o objeto primarios en la ventana Orígenes de datos a un control que ya está enlazado a una columna o propiedad en una tabla secundaria relacionada.
Por ejemplo, considérese una tabla de Orders
en una base de datos de ventas. Cada registro de la tabla Orders
incluye un elemento CustomerID
que indica el cliente que ha realizado el pedido. CustomerID
es una clave externa que señala a un registro de cliente en la tabla Customers
. Al mostrar una lista de pedidos de la tabla Orders
, es posible que quiera mostrar el nombre real del cliente en lugar del valor CustomerID
. Como el nombre del cliente está en la tabla Customers
, debe crear una tabla de búsqueda para mostrarlo. La tabla de búsqueda usa el valor CustomerID
del registro Orders
para navegar por la relación y devolver el nombre del cliente.
Para crear una tabla de búsqueda
Agregue uno de los siguientes tipos de orígenes de datos con datos relacionados al proyecto:
Modelo de datos de entidad o conjunto de datos.
Servicio de datos WCF, servicio WCF o servicio web. Para más información, vea Cómo: Conexión a datos de un servicio.
Objetos. Para más información, vea Enlace a objetos en Visual Studio.
Nota
Para poder crear una tabla de búsqueda, deben existir dos tablas u objetos relacionados como origen de datos para el proyecto.
Abra WPF Designer y asegúrese de que el diseñador tiene un contenedor que sea un destino de colocación válido para los elementos de la ventana Orígenes de datos.
Para más información sobre los destinos de colocación válidos, vea Enlace de controles WPF a datos en Visual Studio.
En el menú Datos, haga clic en Mostrar orígenes de datos para abrir la ventana Orígenes de datos.
Expanda los nodos de la ventana Orígenes de datos hasta que pueda ver la tabla primaria o el objeto, y la tabla secundaria o el objeto relacionado.
Nota
La tabla o el objeto secundarios relacionado es el nodo que aparece como un nodo secundario expandible bajo la tabla o el objeto primarios.
Haga clic en el menú de lista desplegable del nodo secundario y seleccione Detalles.
Expanda el nodo secundario.
En el nodo secundario, haga clic en el menú de lista desplegable del elemento que relaciona los datos secundarios y primarios. (En el ejemplo anterior, es el nodo CustomerID). Seleccione uno de los siguientes tipos de controles que admiten el enlace de búsqueda:
ComboBox
ListBox
ListView
Nota
Si los controles ListBox o ListView no apareces en la lista, puede agregalos. Para obtener información, vea Establecimiento del control que se creará al arrastrar desde la ventana Orígenes de datos.
Cualquier control personalizado que derive de Selector.
Nota
Para obtener información sobre cómo agregar controles personalizados a la lista de controles que puede seleccionar para los elementos en la ventana Orígenes de datos, vea Adición de controles personalizados a la ventana Orígenes de datos.
Arrastre el nodo secundario desde la ventana Orígenes de datos a un contenedor en el diseñador de WPF. (En el ejemplo anterior, el nodo secundario es Orders).
Visual Studio genera XAML que crea controles enlazados a datos para cada uno de los elementos que arrastre. El código XAML también agrega un nuevo elemento CollectionViewSource para la tabla o el objeto secundario a los recursos del destino de colocación. Para algunos orígenes de datos, Visual Studio también genera código a fin de cargar datos en la tabla o el objeto. Para más información, vea Enlace controles WPF a datos en Visual Studio.
Arrastre el nodo primario desde la ventana Orígenes de datos hasta el control de enlace de búsqueda que ha creado antes. (En el ejemplo anterior, Customers es el nodo primario).
Visual Studio establece algunas propiedades en el control para configurar el enlace de búsqueda. En la tabla siguiente se enumeran las propiedades que modifica Visual Studio. Si es necesario, puede cambiar estas propiedades en el código XAML o en la ventana Propiedades.
Propiedad Explicación del parámetro ItemsSource Esta propiedad especifica la colección o enlace que se usa para obtener los datos que se muestran en el control. Visual Studio establece esta propiedad en el elemento CollectionViewSource para los datos primarios que ha arrastrado al control. DisplayMemberPath Esta propiedad especifica la ruta de acceso del elemento de datos que se muestra en el control. Visual Studio establece esta propiedad en la primera columna o propiedad de los datos primarios, después de la clave principal, que tiene un tipo de datos de cadena.
Si quiere mostrar otra columna o propiedad en los datos primarios, cambie esta propiedad a la ruta de acceso de la otra propiedad.SelectedValue Visual Studio enlaza esta propiedad a la columna o propiedad de los datos secundarios que ha arrastrado al diseñador. Esta es la clave externa para los datos primarios. SelectedValuePath Visual Studio establece esta propiedad en la ruta de acceso de la columna o propiedad de los datos secundarios que sea la clave externa de los datos primarios.