Orígenes de datos compatibles con formularios Windows Forms

Tradicionalmente, el enlace de datos se utilizaba dentro de las aplicaciones para utilizar datos almacenados en bases de datos. Con el enlace de datos de formularios Windows Forms puede tener acceso a los datos de bases de datos, así como a datos de otras estructuras tales como matrices y colecciones, siempre que se cumplan ciertos requisitos mínimos.

Estructuras con las que realizar el enlace

En formularios Windows Forms puede enlazar con una amplia gama de estructuras, desde objetos sencillos (enlace sencillos) hasta listas complejas como tablas de datos ADO.NET (enlace complejo). Para el enlace sencillo, los formularios Windows Forms admiten el enlace a las propiedades públicas en el objeto sencillo. El enlace basado en lista de formularios Windows Forms generalmente requiere que el objeto sea compatible con la interfaz IList o la interfaz IListSource. Además, si está realizando el enlace a través de un componente BindingSource, se puede enlazar a un objeto que admite la interfaz IEnumerable. Para obtener más información sobre las interfaces relacionadas con enlace de datos, vea Interfaces relacionadas con el enlace de datos.

En la lista siguiente se muestran las estructuras con las que se puede realizar el enlace en formularios Windows Forms.

  • BindingSource
    BindingSource es el origen de datos de formularios Windows Forms más común y representa un servidor proxy entre un origen de datos y controles de formularios Windows Forms. El modelo de uso de BindingSource general es enlazar los controles a BindingSource y enlazar BindingSource al origen de datos (por ejemplo, una tabla de datos ADO.NET o un objeto comercial). BindingSource proporciona servicios que habilitan y mejoran el nivel de compatibilidad del enlace de datos. Por ejemplo, los controles basados en lista de formularios Windows Forms como DataGridView y ComboBox no admiten directamente el enlace a orígenes de datos IEnumerable, no obstante, puede habilitar este escenario realizando el enlace mediante un BindingSource. En este caso, BindingSource convertirá el origen de datos a una interfaz IList.

  • Objetos sencillos
    Los formularios Windows Forms admiten el enlace de datos de propiedades de control a propiedades públicas en la instancia de un objeto utilizando el tipo Binding. Los formularios Windows Forms también admiten el enlace de controles basados en lista, como una clase ListControl a una instancia de objeto cuando se utiliza BindingSource.

  • Matriz o colección
    Para que actúe de origen de datos, una lista debe implementar la interfaz IList; un ejemplo sería una matriz que es una instancia de la clase Array. Para obtener más información sobre matrices, consulte Cómo: Crear una matriz de objetos (Visual Basic).

    En general, debe utilizar BindingList<T> al crear listas de objetos para el enlace de datos. BindingList<T> es una versión genérica de la interfaz IBindingList. La interfaz IBindingList amplía la interfaz IList agregando propiedades, métodos y eventos necesarios para el enlace de datos bidireccional.

  • IEnumerable
    Los controles de formularios Windows Forms se pueden enlazar a orígenes de datos que sólo admiten la interfaz IEnumerable si se enlazan a través de un componente BindingSource.

  • Objetos de datos de ADO.NET
    ADO.NET proporciona varias estructuras de datos adecuadas para el enlace. Cada una de ellas varía en sofisticación y complejidad.

    • DataColumn. Un objeto DataColumn es el bloque de compilación esencial de DataTable, por el hecho de que varias columnas componen una tabla. Cada objeto DataColumn tiene una propiedad DataType que determina el tipo de datos que contiene la columna (por ejemplo, el modelo en una tabla que describa automóviles). Puede enlazar un control de forma sencilla (por ejemplo la propiedad TextBox de un control Text) a una columna dentro de una tabla de datos.

    • DataTable. Un objeto DataTable es la representación de una tabla, con filas y columnas, en ADO.NET. Una tabla de datos contiene dos colecciones: DataColumn, que representa las columnas de datos de una tabla determinada (que en última instancia determinan los tipos de datos que se pueden introducir en esa tabla) y DataRow, que representa las filas de datos de una tabla determinada. Puede enlazar un control de forma compleja a la información contenida en una tabla de datos (como al enlazar el control DataGridView a una tabla de datos). No obstante, cuando establezca un enlace con un objeto DataTable, en realidad estará estableciendo un enlace a la vista predeterminada de la tabla.

    • DataView. Un objeto DataView es una vista personalizada de una tabla de datos única que se puede filtrar u ordenar. Una vista de datos es la "instantánea" de los datos que utilizan los controles de enlace complejo. Puede establecer enlaces sencillos o complejos a los datos de una vista de datos, pero debe tener en cuenta que estará estableciendo enlaces con una "imagen" fija de los datos, en lugar de hacerlo con un origen de datos limpio y actualizado.

    • DataSet. Un DataSet es una colección de tablas, relaciones y restricciones de los datos de una base de datos. Puede establecer enlaces sencillos o complejos a los datos dentro de un conjunto de datos, pero tenga en cuenta que estará estableciendo el enlace al DataViewManager predeterminado para el DataSet (vea el siguiente punto de viñeta).

    • DataViewManager. Un DataViewManager es una vista personalizada de todo DataSet, análogo a DataView, pero con relaciones incluidas. Con una colección DataViewSettings, puede establecer filtros predeterminados y opciones de ordenación para cualquier vista que DataViewManager tenga para una tabla determinada.

Vea también

Conceptos

Notificación de cambios en el enlace de datos de Windows Forms

Enlace de datos y formularios Windows Forms

Otros recursos

Enlace de datos en Windows Forms