Información general sobre el componente BindingSource

El componente BindingSource está diseñado para simplificar el proceso de enlazar controles a un origen de datos subyacente. El componente BindingSource actúa como canalización y como origen de datos al que se enlazarán otros controles. Proporciona una abstracción de la conexión de datos de su formulario al pasar comandos a la lista de datos subyacente. Además, puede agregar datos directamente a él para que el propio componente funcione como un origen de datos.

Componente BindingSource como intermediario

El componente BindingSource actúa como origen de datos para algunos o todos los controles del formulario. En Visual Studio, BindingSource puede enlazarse a un control mediante la propiedad DataBindings, que es accesible desde la ventana Propiedades. Vea también Cómo: Enlazar controles de Windows Forms con el componente BindingSource mediante el Diseñador.

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. El componente BindingSource actúa como el intermediario que proporciona los servicios de administración de enlace y moneda. 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. En la siguiente ilustración se muestra dónde encaja el componente BindingSource en la arquitectura de enlace de datos existente.

Arquitectura de origen de enlace y enlace de datos

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. Vea también Enlazar controles de Windows Forms a datos en Visual Studio.

Componente BindingSource como origen de datos

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.

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. Para más información, consulte Arquitectura del componente BindingSource.

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. Para más información, consulte Control BindingNavigator.

Manipulación de datos

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. En la tabla siguiente se muestran los miembros que el componente BindingSource proporciona para acceder a los datos subyacentes y manipularlos.

Miembro Descripción
Propiedad Current Obtiene el elemento actual del origen de datos.
Propiedad Position Obtiene o establece la posición actual en la lista subyacente.
Propiedad List Obtiene la lista que es la evaluación de DataSource y DataMember. Si DataMember no está establecido, devuelve la lista especificada por DataSource.
Método Insert Inserta un elemento en el índice especificado de la lista.
Método RemoveCurrent Quita el elemento actual de la lista.
Método EndEdit Aplica los cambios pendientes al origen de datos subyacente.
Método CancelEdit Cancela la operación de edición actual.
Método AddNew Agrega un nuevo elemento a la lista subyacente. Si el origen de datos implementa IBindingList y devuelve un elemento para el evento AddingNew, agrega este elemento. De lo contrario, la solicitud se pasa al método AddNew de la lista. Si la lista subyacente no es un elemento IBindingList, el elemento se crea automáticamente mediante su constructor público predeterminado.

Ordenar y filtrar

Normalmente, debe trabajar con una vista filtrada u ordenada del origen de datos. En la tabla siguiente se muestran los miembros que el origen de datos del componente BindingSource proporciona.

Miembro Descripción
Propiedad Sort Si el origen de datos es una IBindingList, obtiene o establece el nombre de columna usado para ordenar y el criterio de ordenación. 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.
Propiedad Filter Si el origen de datos es una IBindingListView, obtiene o establece la expresión usada para filtrar qué filas se ven.

Consulte también