Información general sobre el componente BindingSourceBindingSource Component Overview

El componente BindingSource está diseñado para simplificar el proceso de enlazar controles a un origen de datos subyacente.The BindingSource component is designed to simplify the process of binding controls to an underlying data source. El componente BindingSource actúa como canalización y como origen de datos al que se enlazarán otros controles.The BindingSource component acts as both a conduit and a data source for other controls to bind to. Proporciona una abstracción de la conexión de datos de su formulario al pasar comandos a la lista de datos subyacente.It provides an abstraction of your form's data connection while passing through commands to the underlying list of data. Además, puede agregar datos directamente a él para que el propio componente funcione como un origen de datos.Additionally, you can add data directly to it, so that the component itself functions as a data source.

Componente BindingSource como intermediarioBindingSource Component as an Intermediary

El componente BindingSource actúa como origen de datos para algunos o todos los controles del formulario.The BindingSource component acts as the data source for some or all of the controls on the form. En Visual Studio, BindingSource se puede enlazar a un control mediante la DataBindings propiedad, que es accesible desde la ventana propiedades .In Visual Studio, the BindingSource can be bound to a control by means of the DataBindings property, which is accessible from the Properties window. Consulte también Cómo: Enlazar Windows Forms controles con el componente BindingSource mediante eldiseñador.Also see How to: Bind Windows Forms Controls with the BindingSource Component Using the Designer.

Puede enlazar el componente BindingSource a orígenes de datos simples, como una única propiedad de un objeto o una colección básica como ArrayList, y a orígenes de datos complejos, como una tabla de base de datos.You can bind the BindingSource component to both simple data sources, like a single property of an object or a basic collection like ArrayList, and complex data sources, like a database table. El componente BindingSource actúa como el intermediario que proporciona los servicios de administración de enlace y moneda.The BindingSource component acts as an intermediary that provides binding and currency management services. En tiempo de diseño o en tiempo de ejecución, puede enlazar un componente BindingSource a un origen de datos complejo estableciendo sus propiedades DataSource y DataMember en la base de datos y en la tabla, respectivamente.At design time or run time, you can bind a BindingSource component to a complex data source by setting its DataSource and DataMember properties to the database and table, respectively. En la siguiente ilustración se muestra dónde encaja el componente BindingSource en la arquitectura de enlace de datos existente.The following illustration demonstrates where the BindingSource component fits into the existing data-binding architecture.

Arquitectura de origen de enlace y enlace de datosBinding Source and Data Binding Architecture

Nota

En tiempo de diseño, algunas acciones, como arrastrar una tabla de base de datos desde una ventana de datos en un formulario en blanco, crearán el componente BindingSource, lo enlazarán al origen de datos subyacente y agregarán controles compatibles con datos en una sola operación.At design time, some actions, like dragging a database table from a data window onto a blank form, will create the BindingSource component, bind it to the underlying data source, and add data-aware controls all in one operation. Vea también Enlazar controles de Windows Forms a datos en Visual Studio.Also see Bind Windows Forms controls to data in Visual Studio.

Componente BindingSource como origen de datosBindingSource Component as a Data Source

Si comienza agregando elementos al componente BindingSource sin especificar primero la lista a la que se enlazará, el componente actuará como un origen de datos de estilo de lista y aceptará estos elementos agregados.If you start adding items to the BindingSource component without first specifying a list to be bound to, the component will act like a list-style data source and accept these added items.

Además, puede escribir código para proporcionar la funcionalidad personalizada "AddNew" mediante el evento AddingNew, que se genera cuando se llama al método AddNew antes de que el elemento se agregue a la lista.Additionally, you can write code to provide custom "AddNew" functionality by means of the AddingNew event, which is raised when the AddNew method is called prior to the item being added to the list. Para más información, consulte Arquitectura del componente BindingSource.For more information, see BindingSource Component Architecture.

Para los usuarios que necesiten navegar por los datos de un formulario, el componente BindingNavigator permite navegar por los datos y manipularlos, en colaboración con un componente BindingSource.For users that need to navigate the data on a form, the BindingNavigator component enables you to navigate and manipulate data, in coordination with a BindingSource component. Para más información, consulte Control BindingNavigator.For more information, see BindingNavigator Control.

Manipulación de datosData Manipulation

El componente BindingSource actúa como un CurrencyManager para todos sus enlaces y, por lo tanto, puede proporcionar acceso a la información de posición y de moneda relativa al origen de datos.The: BindingSource acts as a CurrencyManager for all of its bindings and can, therefore, provide access to currency and position information regarding the data source. En la tabla siguiente se muestran los miembros que el componente BindingSource proporciona para acceder a los datos subyacentes y manipularlos.The following table shows the members that the BindingSource component provides for accessing and manipulating the underlying data.

MemberMember DESCRIPCIÓNDescription
PropiedadCurrentCurrent property Obtiene el elemento actual del origen de datos.Gets the current item of the data source.
PropiedadPositionPosition property Obtiene o establece la posición actual en la lista subyacente.Gets or sets the current position in the underlying list.
PropiedadListList property Obtiene la lista que es la evaluación de DataSource y DataMember.Gets the list that is the evaluation of the DataSource and DataMember evaluation. Si DataMember no está establecido, devuelve la lista especificada por DataSource.If DataMember is not set, returns the list specified by DataSource.
Método InsertInsert method Inserta un elemento en el índice especificado de la lista.Inserts an item in the list at the specified index.
Método RemoveCurrentRemoveCurrent method Quita el elemento actual de la lista.Removes the current item from the list.
Método EndEditEndEdit method Aplica los cambios pendientes al origen de datos subyacente.Applies pending changes to the underlying data source.
Método CancelEditCancelEdit method Cancela la operación de edición actual.Cancels the current edit operation.
Método AddNewAddNew method Agrega un nuevo elemento a la lista subyacente.Adds a new item to the underlying list. Si el origen de datos implementa IBindingList y devuelve un elemento para el evento AddingNew, agrega este elemento.If the data source implements IBindingList and returns an item from the AddingNew event, adds this item. De lo contrario, la solicitud se pasa al método AddNew de la lista.Otherwise, the request is passed to the list's AddNew method. Si la lista subyacente no IBindingListes, el elemento se crea automáticamente a través de su constructor sin parámetros público.If the underlying list is not an IBindingList, the item is automatically created through its public parameterless constructor.

Ordenar y filtrarSorting and Filtering

Normalmente, debe trabajar con una vista filtrada u ordenada del origen de datos.Usually, you should work with an ordered or filtered view of the data source. En la tabla siguiente se muestran los miembros que el origen de datos del componente BindingSource proporciona.The following table shows the members that the BindingSource component data source provides.

MemberMember DESCRIPCIÓNDescription
PropiedadSortSort property Si el origen de datos es una IBindingList, obtiene o establece el nombre de columna usado para ordenar y el criterio de ordenación.If the data source is an IBindingList, gets or sets a column name used for sorting and sort order information. Si el origen de datos es una IBindingListView y admite la ordenación avanzada, obtiene varios nombres de columna usados para ordenar y el criterio de ordenación.If the data source is an IBindingListView and supports advanced sorting, gets multiple column names used for sorting and sort order information
PropiedadFilterFilter property Si el origen de datos es una IBindingListView, obtiene o establece la expresión usada para filtrar qué filas se ven.If the data source is an IBindingListView, gets or sets the expression used to filter which rows are viewed.

Vea tambiénSee also