Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Clase BindingSource

 

Publicado: octubre de 2016

Encapsula el origen de datos de un formulario.

Espacio de nombres:   System.Windows.Forms
Ensamblado:  System.Windows.Forms (en System.Windows.Forms.dll)

System.Object
  System.MarshalByRefObject
    System.ComponentModel.Component
      System.Windows.Forms.BindingSource

[ComplexBindingPropertiesAttribute("DataSource", "DataMember")]
public class BindingSource : Component, IBindingListView, IBindingList, 
	IList, ICollection, IEnumerable, ITypedList, ICancelAddNew, 
	ISupportInitializeNotification, ISupportInitialize, ICurrencyManagerProvider

NombreDescripción
System_CAPS_pubmethodBindingSource()

Inicializa una nueva instancia de la BindingSource clase a los valores de propiedad predeterminados.

System_CAPS_pubmethodBindingSource(IContainer)

Inicializa una nueva instancia de la BindingSource clase y agrega el BindingSource al contenedor especificado.

System_CAPS_pubmethodBindingSource(Object, String)

Inicializa una nueva instancia de la BindingSource clase con el origen de datos especificado y el miembro de datos.

NombreDescripción
System_CAPS_pubpropertyAllowEdit

Obtiene un valor que indica si se pueden editar los elementos de la lista subyacente.

System_CAPS_pubpropertyAllowNew

Obtiene o establece un valor que indica si la AddNew método se puede utilizar para agregar elementos a la lista.

System_CAPS_pubpropertyAllowRemove

Obtiene un valor que indica si se pueden quitar elementos de la lista subyacente.

System_CAPS_protpropertyCanRaiseEvents

Obtiene un valor que indica si el componente puede provocar un evento.(Heredado de Component).

System_CAPS_pubpropertyContainer

Obtiene IContainer que contiene Component.(Heredado de Component).

System_CAPS_pubpropertyCount

Obtiene el número total de elementos de la lista subyacente, teniendo actual Filter valor en consideración.

System_CAPS_pubpropertyCurrencyManager

Obtiene el Administrador de moneda asociado a este BindingSource.

System_CAPS_pubpropertyCurrent

Obtiene el elemento actual de la lista.

System_CAPS_pubpropertyDataMember

Obtiene o establece la lista concreta del origen de datos a la que está enlazado el conector en ese momento.

System_CAPS_pubpropertyDataSource

Obtiene o establece el origen de datos con el que está enlazado el conector.

System_CAPS_protpropertyDesignMode

Obtiene un valor que indica si la Component está actualmente en modo de diseño.(Heredado de Component).

System_CAPS_protpropertyEvents

Obtiene la lista de controladores de eventos que se adjuntará a este Component.(Heredado de Component).

System_CAPS_pubpropertyFilter

Obtiene o establece la expresión utilizada para filtrar las filas que se deben mostrar.

System_CAPS_pubpropertyIsBindingSuspended

Obtiene un valor que indica si se ha suspendido el enlace a la lista.

System_CAPS_pubpropertyIsFixedSize

Obtiene un valor que indica si la lista subyacente tiene un tamaño fijo.

System_CAPS_pubpropertyIsReadOnly

Obtiene un valor que indica si la lista subyacente es de solo lectura.

System_CAPS_pubpropertyIsSorted

Obtiene un valor que indica si los elementos de la lista subyacente están ordenados.

System_CAPS_pubpropertyIsSynchronized

Obtiene un valor que indica si el acceso a la colección está sincronizado (es seguro para la ejecución de subprocesos).

System_CAPS_pubpropertyItem[Int32]

Obtiene o establece el elemento de lista que se encuentra en el índice especificado.

System_CAPS_pubpropertyList

Obtiene la lista a la que está enlazada el conector.

System_CAPS_pubpropertyPosition

Obtiene o establece el índice del elemento actual de la lista subyacente.

System_CAPS_pubpropertyRaiseListChangedEvents

Obtiene o establece un valor que indica si ListChanged deben producirse los eventos.

System_CAPS_pubpropertySite

Obtiene o establece la ISite de la Component.(Heredado de Component).

System_CAPS_pubpropertySort

Obtiene o establece los nombres de columna utilizados para ordenar y el criterio de ordenación para ver las filas del origen de datos.

System_CAPS_pubpropertySortDescriptions

Obtiene la colección de descripciones de ordenación aplicada al origen de datos.

System_CAPS_pubpropertySortDirection

Obtiene la dirección en la que están ordenados los elementos de la lista.

System_CAPS_pubpropertySortProperty

Esta API admite la infraestructura producto y no está diseñada para usarse directamente desde el código. Obtiene el PropertyDescriptor que se utiliza para ordenar la lista.

System_CAPS_pubpropertySupportsAdvancedSorting

Obtiene un valor que indica si el origen de datos admite la ordenación de varias columnas.

System_CAPS_pubpropertySupportsChangeNotification

Obtiene un valor que indica si el origen de datos admite la notificación de cambios.

System_CAPS_pubpropertySupportsFiltering

Obtiene un valor que indica si el origen de datos admite el filtrado.

System_CAPS_pubpropertySupportsSearching

Obtiene un valor que indica si el origen de datos permite realizar búsquedas con el Find método.

System_CAPS_pubpropertySupportsSorting

Obtiene un valor que indica si el origen de datos admite la ordenación.

System_CAPS_pubpropertySyncRoot

Obtiene un objeto que se puede utilizar para sincronizar el acceso a la lista subyacente.

NombreDescripción
System_CAPS_pubmethodAdd(Object)

Agrega un elemento existente a la lista interna.

System_CAPS_pubmethodAddNew()

Agrega un nuevo elemento a la lista subyacente.

System_CAPS_pubmethodApplySort(ListSortDescriptionCollection)

Ordena el origen de datos con las descripciones de ordenación especificadas.

System_CAPS_pubmethodApplySort(PropertyDescriptor, ListSortDirection)

Ordena el origen de datos utilizando el descriptor de propiedad y el sentido de ordenación especificados.

System_CAPS_pubmethodCancelEdit()

Cancela la operación de edición actual.

System_CAPS_pubmethodClear()

Quita todos los elementos de la lista.

System_CAPS_pubmethodContains(Object)

Determina si un objeto es un elemento de la lista.

System_CAPS_pubmethodCopyTo(Array, Int32)

Copia el contenido de la List en la matriz especificada, empezando por el valor de índice especificado.

System_CAPS_pubmethodCreateObjRef(Type)

Crea un objeto que contiene toda la información relevante necesaria para generar a un proxy que se utiliza para comunicarse con un objeto remoto.(Heredado de MarshalByRefObject).

System_CAPS_pubmethodDispose()

Libera todos los recursos que usa Component.(Heredado de Component).

System_CAPS_protmethodDispose(Boolean)

Libera los recursos no administrados que usa BindingSource y libera los recursos administrados de forma opcional.(Invalida Component.Dispose(Boolean)).

System_CAPS_pubmethodEndEdit()

Aplica los cambios pendientes al origen de datos subyacente.

System_CAPS_pubmethodEquals(Object)

Determina si el objeto especificado es igual al objeto actual.(Heredado de Object).

System_CAPS_protmethodFinalize()

Libera recursos no administrados y realiza otras operaciones de limpieza antes de que se reclame el elemento Component durante la recolección de elementos no usados.(Heredado de Component).

System_CAPS_pubmethodFind(PropertyDescriptor, Object)

Busca el índice del elemento que tiene el descriptor de propiedad especificado.

System_CAPS_pubmethodFind(String, Object)

Devuelve el índice del elemento de la lista con el nombre y el valor de propiedad especificados.

System_CAPS_pubmethodGetEnumerator()

Recupera un enumerador para el List.

System_CAPS_pubmethodGetHashCode()

Sirve como la función hash predeterminada.(Heredado de Object).

System_CAPS_pubmethodGetItemProperties(PropertyDescriptor[])

Recupera una matriz de PropertyDescriptor el tipo de lista de origen de objetos que representan las propiedades enlazables de los datos.

System_CAPS_pubmethodGetLifetimeService()

Recupera el objeto de servicio de duración actual que controla la directiva de duración de esta instancia.(Heredado de MarshalByRefObject).

System_CAPS_pubmethodGetListName(PropertyDescriptor[])

Obtiene el nombre de la lista que suministra datos para el enlace.

System_CAPS_pubmethodGetRelatedCurrencyManager(String)

Obtiene el administrador de moneda relacionado para el miembro de datos especificado.

System_CAPS_protmethodGetService(Type)

Devuelve un objeto que representa el servicio suministrado por Component o por Container.(Heredado de Component).

System_CAPS_pubmethodGetType()

Obtiene el Type de la instancia actual.(Heredado de Object).

System_CAPS_pubmethodIndexOf(Object)

Busca el objeto especificado y devuelve el índice de la primera aparición en toda la lista.

System_CAPS_pubmethodInitializeLifetimeService()

Obtiene un objeto de servicio de duración para controlar la directiva de duración de esta instancia.(Heredado de MarshalByRefObject).

System_CAPS_pubmethodInsert(Int32, Object)

Inserta un elemento en el índice especificado de la lista.

System_CAPS_protmethodMemberwiseClone()

Crea una copia superficial del Object actual.(Heredado de Object).

System_CAPS_protmethodMemberwiseClone(Boolean)

Crea una copia superficial del elemento actual MarshalByRefObject objeto.(Heredado de MarshalByRefObject).

System_CAPS_pubmethodMoveFirst()

Se desplaza al primer elemento de la lista.

System_CAPS_pubmethodMoveLast()

Se desplaza al último elemento de la lista.

System_CAPS_pubmethodMoveNext()

Se desplaza al siguiente elemento de la lista.

System_CAPS_pubmethodMovePrevious()

Se desplaza al elemento anterior de la lista.

System_CAPS_protmethodOnAddingNew(AddingNewEventArgs)

Genera el evento AddingNew.

System_CAPS_protmethodOnBindingComplete(BindingCompleteEventArgs)

Genera el evento BindingComplete.

System_CAPS_protmethodOnCurrentChanged(EventArgs)

Genera el evento CurrentChanged.

System_CAPS_protmethodOnCurrentItemChanged(EventArgs)

Genera el evento CurrentItemChanged.

System_CAPS_protmethodOnDataError(BindingManagerDataErrorEventArgs)

Genera el evento DataError.

System_CAPS_protmethodOnDataMemberChanged(EventArgs)

Genera el evento DataMemberChanged.

System_CAPS_protmethodOnDataSourceChanged(EventArgs)

Genera el evento DataSourceChanged.

System_CAPS_protmethodOnListChanged(ListChangedEventArgs)

Genera el evento ListChanged.

System_CAPS_protmethodOnPositionChanged(EventArgs)

Genera el evento PositionChanged.

System_CAPS_pubmethodRemove(Object)

Quita de la lista el elemento especificado.

System_CAPS_pubmethodRemoveAt(Int32)

Quita el elemento situado en el índice especificado de la lista.

System_CAPS_pubmethodRemoveCurrent()

Quita el elemento actual de la lista.

System_CAPS_pubmethodRemoveFilter()

Quita el filtro asociado a la BindingSource.

System_CAPS_pubmethodRemoveSort()

Quita la ordenación asociada a la BindingSource.

System_CAPS_pubmethodResetAllowNew()

Esta API admite la infraestructura producto y no está diseñada para usarse directamente desde el código. Reinicializa la AllowNew propiedad.

System_CAPS_pubmethodResetBindings(Boolean)

Hace que un control enlazado a BindingSource vuelva a leer todos los elementos de la lista y actualice los valores mostrados.

System_CAPS_pubmethodResetCurrentItem()

Hace que un control enlazado a la BindingSource a leer el elemento seleccionado actualmente y actualice su valor mostrado.

System_CAPS_pubmethodResetItem(Int32)

Hace que un control enlazado a la BindingSource para leer el elemento en el índice especificado y actualice su valor mostrado.

System_CAPS_pubmethodResumeBinding()

Reanuda el enlace de datos.

System_CAPS_pubmethodSuspendBinding()

Suspende el enlace a datos para impedir que los cambios actualicen el origen de datos enlazado.

System_CAPS_pubmethodToString()

Devuelve un String que contiene el nombre de la Component, si existe. Este método no se debe invalidar.(Heredado de Component).

NombreDescripción
System_CAPS_pubeventAddingNew

Se produce antes de que se agregue un elemento a la lista subyacente.

System_CAPS_pubeventBindingComplete

Se produce cuando todos los clientes se han enlazado a este BindingSource.

System_CAPS_pubeventCurrentChanged

Se produce cuando cambia el elemento enlazado actual.

System_CAPS_pubeventCurrentItemChanged

Se produce cuando un valor de propiedad de la Current propiedad ha cambiado.

System_CAPS_pubeventDataError

Se produce cuando una excepción relacionada con la moneda controla silenciosamente el BindingSource.

System_CAPS_pubeventDataMemberChanged

Se produce cuando cambia el valor de la propiedad DataMember.

System_CAPS_pubeventDataSourceChanged

Se produce cuando cambia el valor de la propiedad DataSource.

System_CAPS_pubeventDisposed

Se produce cuando el componente se elimina mediante una llamada a la Dispose (método).(Heredado de Component).

System_CAPS_pubeventListChanged

Se produce cuando cambia la lista subyacente o se modifica un elemento de la lista.

System_CAPS_pubeventPositionChanged

Se produce después del valor de la Position propiedad ha cambiado.

NombreDescripción
System_CAPS_pubinterfaceSystem_CAPS_priveventISupportInitializeNotification.Initialized

Se produce cuando el BindingSource se inicializa.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIBindingList.AddIndex(PropertyDescriptor)

Agrega el PropertyDescriptor a los índices utilizados para las búsquedas.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIBindingList.RemoveIndex(PropertyDescriptor)

Quita el System.ComponentModel.PropertyDescriptor de los índices utilizados para las búsquedas.

System_CAPS_pubinterfaceSystem_CAPS_privmethodICancelAddNew.CancelNew(Int32)

Descarta un nuevo elemento pendiente de la colección.

System_CAPS_pubinterfaceSystem_CAPS_privmethodICancelAddNew.EndNew(Int32)

Confirma un nuevo elemento pendiente en la colección.

System_CAPS_pubinterfaceSystem_CAPS_privmethodISupportInitialize.BeginInit()

Las señales de la BindingSource que está comenzando la inicialización.

System_CAPS_pubinterfaceSystem_CAPS_privmethodISupportInitialize.EndInit()

Las señales de la BindingSource que la inicialización está completa.

System_CAPS_pubinterfaceSystem_CAPS_privpropertyISupportInitializeNotification.IsInitialized

Obtiene un valor que indica si el objeto BindingSource está inicializado.

NombreDescripción
System_CAPS_pubmethodAsParallel()

Sobrecargado. Habilita la paralelización de una consulta.(Definido por ParallelEnumerable).

System_CAPS_pubmethodAsQueryable()

Sobrecargado. Convierte un IEnumerable a un IQueryable. (Definido por Queryable).

System_CAPS_pubmethodCast<TResult>()

Convierte los elementos de un IEnumerable al tipo especificado.(Definido por Enumerable).

System_CAPS_pubmethodOfType<TResult>()

Filtra los elementos de un IEnumerable basado en un tipo especificado.(Definido por Enumerable).

The T:System.Windows.Forms.BindingSource component serves many purposes. First, it simplifies binding controls on a form to data by providing currency management, change notification, and other services between Windows Forms controls and data sources. This is accomplished by attaching the T:System.Windows.Forms.BindingSource component to your data source using the P:System.Windows.Forms.BindingSource.DataSource property. For complex binding scenarios you can optionally set the P:System.Windows.Forms.BindingSource.DataMember property to a specific column or list in the data source. You then bind controls to the T:System.Windows.Forms.BindingSource. All further interaction with the data is accomplished with calls to the T:System.Windows.Forms.BindingSource component. For examples on how the T:System.Windows.Forms.BindingSource can simplify the binding process, see How to: Bind Windows Forms Controls to DbNull Database Values and How to: Handle Errors and Exceptions that Occur with Databinding. Navigation and updating of the data source is accomplished through methods such as M:System.Windows.Forms.BindingSource.MoveNext, M:System.Windows.Forms.BindingSource.MoveLast, and M:System.Windows.Forms.BindingSource.Remove(System.Object). Operations such as sorting and filtering are handled through the P:System.Windows.Forms.BindingSource.Sort and P:System.Windows.Forms.BindingSource.Filter properties. For more information on using sorting and filtering with the T:System.Windows.Forms.BindingSource, see How to: Sort and Filter ADO.NET Data with the Windows Forms BindingSource Component.

In addition, the T:System.Windows.Forms.BindingSource component can act as a strongly typed data source. Typically the type of the underlying data source is fixed through one of the following mechanisms:

  • Use the M:System.Windows.Forms.BindingSource.Add(System.Object) method to add an item to the T:System.Windows.Forms.BindingSource component.

  • Set the P:System.Windows.Forms.BindingSource.DataSource property to a list, single object, or type.

Both of these mechanisms create a strongly-typed list. For more information on how to use the T:System.Windows.Forms.BindingSource to bind to a type, see How to: Bind a Windows Forms Control to a Type. You can also use the T:System.Windows.Forms.BindingSource to bind your controls to a factory object. For more information on how to do this, see How to: Bind a Windows Forms Control to a Factory Object.

System_CAPS_noteNota

Because a T:System.Windows.Forms.BindingSource handles both simple and complex data sources, terminology is problematic. Within this class documentation, the term list refers to a data collection within the hosted data source, and item denotes a single element. When discussing functionality associated with complex data sources, the equivalent terms table and row are used.

BindingSource provides members for accessing the underlying data. The current item can be retrieved through the Current property, and the entire list can be retrieved through the List property. Editing operations are supported on the current item through Current and the RemoveCurrent, EndEdit, CancelEdit and Add and AddNew methods. Although currency management is handled automatically for all underlying data source types, this class exposes a number of events, such as CurrentItemChanged and DataSourceChanged, that allow for customization.

Data sources that are bound to a T:System.Windows.Forms.BindingSource component can also be navigated and managed with the T:System.Windows.Forms.BindingNavigator class, which provides a VCR-like user interface (UI) for navigating items within a list. Although T:System.Windows.Forms.BindingNavigator can be bound to any data source, it was designed to integrate with a T:System.Windows.Forms.BindingSource component through its P:System.Windows.Forms.BindingNavigator.BindingSource property.

The default property for the T:System.Windows.Forms.BindingSource class is P:System.Windows.Forms.BindingSource.DataSource. The default event is E:System.Windows.Forms.BindingSource.CurrentChanged.

System_CAPS_cautionPrecaución

  Many of the members of the T:System.Windows.Forms.BindingSource class operate on the underlying list represented by the P:System.Windows.Forms.BindingSource.List property and simply refer their operation to the underlying list. Therefore, when the T:System.Windows.Forms.BindingSource is bound to a custom implementation of T:System.Collections.IList, the exact behavior of these members may differ from the behavior described in the class documentation. For example, the M:System.Windows.Forms.BindingSource.RemoveAt(System.Int32) method calls M:System.Collections.IList.RemoveAt(System.Int32). The T:System.Windows.Forms.BindingSource documentation describes the M:System.Windows.Forms.BindingSource.RemoveAt(System.Int32) method with the understanding that the M:System.Collections.IList.RemoveAt(System.Int32) method for the underlying T:System.Collections.IList is correctly implemented.

The following code example demonstrates a T:System.Windows.Forms.ListBox bound to a T:System.Windows.Forms.BindingSource. The T:System.Windows.Forms.BindingSource is bound to a T:System.ComponentModel.BindingList`1 that contains a list of fonts.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace BindingSourceExamples
{
    public class Form1 : Form
    {
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.Run(new Form1());
        }

        public Form1()
        {
            this.Load += new EventHandler(Form1_Load);
        }

        private TextBox textBox1;
        private Button button1;
        private ListBox listBox1;

        private BindingSource binding1;
        void Form1_Load(object sender, EventArgs e)
        {
            listBox1 = new ListBox();
            textBox1 = new TextBox();
            binding1 = new BindingSource();
            button1 = new Button();
            listBox1.Location = new Point(140, 25);
            listBox1.Size = new Size(123, 160);
            textBox1.Location = new Point(23, 70);
            textBox1.Size = new Size(100, 20);
            textBox1.Text = "Wingdings";
            button1.Location = new Point(23, 25);
            button1.Size = new Size(75, 23);
            button1.Text = "Search";
            button1.Click += new EventHandler(this.button1_Click);
            this.ClientSize = new Size(292, 266);
            this.Controls.Add(this.button1);
            this.Controls.Add(this.textBox1);
            this.Controls.Add(this.listBox1);

            MyFontList fonts = new MyFontList();
            for (int i = 0; i < FontFamily.Families.Length; i++)
            {
                if (FontFamily.Families[i].IsStyleAvailable(FontStyle.Regular))
                    fonts.Add(new Font(FontFamily.Families[i], 11.0F, FontStyle.Regular));
            }
            binding1.DataSource = fonts;
            listBox1.DataSource = binding1;
            listBox1.DisplayMember = "Name";

        }


        private void button1_Click(object sender, EventArgs e)
        {
            if (binding1.SupportsSearching != true)
                MessageBox.Show("Cannot search the list.");
            else
            {
                int foundIndex = binding1.Find("Name", textBox1.Text);
                if (foundIndex > -1)
                    listBox1.SelectedIndex = foundIndex;
                else
                    MessageBox.Show("Font was not found.");
            }
        }
    }

    public class MyFontList : BindingList<Font>
    {

        protected override bool SupportsSearchingCore
        {
            get { return true; }
        }
        protected override int FindCore(PropertyDescriptor prop, object key)
        {
            // Ignore the prop value and search by family name.
            for (int i = 0; i < Count; ++i)
            {
                if (Items[i].FontFamily.Name.ToLower() == ((string)key).ToLower())
                    return i;

            }
            return -1;
        }


    }

}

.NET Framework
Disponible desde 2.0

Cualquier miembro ( Compartido en Visual Basic) estático público de este tipo es seguro para subprocesos. No se garantiza que los miembros de instancia sean seguros para subprocesos.

Volver al principio
Mostrar: