Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
A veces resulta útil mostrar datos en un formato fácil de usar en windows Forms, pero almacenar los datos en un formato que sea más significativo para el programa. Por ejemplo, un formulario de pedido para alimentos podría mostrar los elementos de menú por nombre en un cuadro de lista. Sin embargo, la tabla de datos que registra el pedido contendrá los números de identificación únicos que representan la comida. En las tablas siguientes se muestra un ejemplo de cómo almacenar y mostrar datos de formulario de pedido para alimentos.
Tabla de Detalles de Pedidos
ID de Pedido | ID de ítem | Cantidad |
---|---|---|
4085 | 12 | 1 |
4086 | 13 | 3 |
Tabla de Elementos
identificación | Nombre |
---|---|
12 | Patata |
13 | Pollo |
En este escenario, una tabla, OrderDetailsTable, almacena la información real que le interesa mostrar y guardar. Pero para ahorrar espacio, lo hace de una manera bastante críptica. La otra tabla, ItemTable, contiene solo información relacionada con la apariencia sobre qué número de identificación es equivalente al nombre de la comida, y nada sobre los pedidos de alimentos reales.
ItemTable está conectado al ComboBox, ListBox o CheckedListBox a través de tres propiedades. La DataSource
propiedad contiene el nombre de esta tabla. La DisplayMember
propiedad contiene la columna de datos de esa tabla que desea mostrar en el control (el nombre de la comida). La ValueMember
propiedad contiene la columna de datos de esa tabla con la información almacenada (el número de identificador).
OrderDetailsTable está conectado al control mediante su colección de vínculos, a la que se accede a través de la propiedad DataBindings. Al agregar un objeto de enlace a la colección, se conecta una propiedad de control a un miembro de datos específico (la columna de números de identificador) de un origen de datos ( OrderDetailsTable). Cuando se realiza una selección en el control , esta tabla es donde se guarda la entrada del formulario.
Para crear una tabla de búsqueda
Agregue un ComboBoxcontrol , ListBoxo CheckedListBox al formulario.
Conéctese al origen de datos.
Establecer una relación de datos entre las dos tablas. Consulte Introducción a los objetos DataRelation.
Configure las siguientes propiedades. Se pueden establecer en el código o en el diseñador.
Propiedad Configuración DataSource Tabla que contiene información sobre qué número de identificador es equivalente a qué elemento. En el escenario anterior, se trata de ItemTable
.DisplayMember Columna de la tabla de origen de datos que desea mostrar en el control . En el escenario anterior, esto es "Name"
(para insertarlo en el código, use comillas).ValueMember Columna de la tabla de origen de datos que contiene la información almacenada. En el escenario anterior, esto es "ID"
(para insertarlo en el código, use comillas).En un procedimiento, llame al Add método de la ControlBindingsCollection clase para enlazar la propiedad del SelectedValue control a la tabla que registra la entrada del formulario. También puede hacerlo en el Diseñador en lugar de en el código accediendo a la propiedad del DataBindings control en la ventana Propiedades . En el escenario anterior, es
OrderDetailsTable
y la columna es"ItemID"
.ListBox1.DataBindings.Add("SelectedValue", OrderDetailsTable, "ItemID")
listBox1.DataBindings.Add("SelectedValue", OrderDetailsTable, "ItemID");
Consulte también
.NET Desktop feedback