Exportar (0) Imprimir
Expandir todo
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

BindingSource (Clase)

encapsula el origen de datos para un formulario.

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

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

El tipo BindingSource expone los siguientes miembros.

  NombreDescripción
Método públicoBindingSource()Inicializa una nueva instancia de la clase de BindingSource a los valores de propiedad predeterminados.
Método públicoBindingSource(IContainer)Inicializa una nueva instancia de la clase de BindingSource y agrega BindingSource al contenedor especificado.
Método públicoBindingSource(Object, String)Inicializa una nueva instancia de la clase de BindingSource con el origen de datos y el miembro de datos especificados.
Arriba

  NombreDescripción
Propiedad públicaAllowEditObtiene un valor que indica si los elementos de la lista subyacente se pueden editar.
Propiedad públicaAllowNewobtiene o establece un valor que indica si el método de AddNew se puede utilizar para agregar elementos a la lista.
Propiedad públicaAllowRemoveobtiene un valor que indica si los elementos se pueden quitar de la lista subyacente.
Propiedad protegidaCanRaiseEventsObtiene un valor que indica si el componente puede generar un evento. (Se hereda de Component).
Propiedad públicaContainerObtiene IContainer que contiene Component. (Se hereda de Component).
Propiedad públicaCountObtiene el número total de elementos en la lista subyacente, tomando el valor actual de Filter en cuenta.
Propiedad públicaCurrencyManagerObtiene el administrador de divisa asociado a este BindingSource.
Propiedad públicaCurrentobtiene el elemento actual en la lista.
Propiedad públicaDataMemberObtiene o establece la lista específica en el origen de datos al que el conector enlazado actualmente.
Propiedad públicaDataSourceObtiene o establece el origen de datos al que el conector enlazado.
Propiedad protegidaDesignModeObtiene un valor que indica si Component está actualmente en modo de diseño. (Se hereda de Component).
Propiedad protegidaEventsObtiene la lista de controladores de eventos asociados a Component. (Se hereda de Component).
Propiedad públicaFilterObtiene o establece la expresión utilizada para filtrar las filas que se ven.
Propiedad públicaIsBindingSuspendedObtiene un valor que indica si el enlace de la lista está suspendido.
Propiedad públicaIsFixedSizeObtiene un valor que indica si la lista subyacente tiene un tamaño fijo.
Propiedad públicaIsReadOnlyObtiene un valor que indica si la lista subyacente es de solo lectura.
Propiedad públicaIsSortedObtiene un valor que indica si los elementos de la lista subyacente cambian.
Propiedad públicaIsSynchronizedObtiene un valor que indica si el acceso a la colección está sincronizado (seguro para subprocesos).
Propiedad públicaItemObtiene o establece el elemento de lista en el índice especificado.
Propiedad públicaListobtiene la lista que el conector está enlazado a.
Propiedad públicaPositionObtiene o establece el índice del elemento actual en la lista subyacente.
Propiedad públicaRaiseListChangedEventsObtiene o establece un valor que indica si los eventos de ListChanged deben producir.
Propiedad públicaSiteObtiene o establece ISite de Component. (Se hereda de Component).
Propiedad públicaSortObtiene o establece los nombres de columna utilizados para ordenar, y el criterio de ordenación para ver las filas del origen de datos.
Propiedad públicaSortDescriptionsObtiene la colección de descripciones ordenadas aplicado al origen de datos.
Propiedad públicaSortDirectionObtiene la dirección en que los elementos de la lista se ordenan.
Propiedad públicaSortPropertyInfraestructura. Obtiene PropertyDescriptor que se utiliza para ordenar la lista.
Propiedad públicaSupportsAdvancedSortingobtiene un valor que indica si el origen de datos admite la ordenación de varias columnas.
Propiedad públicaSupportsChangeNotificationobtiene un valor que indica si el origen de datos admite la notificación.
Propiedad públicaSupportsFilteringobtiene un valor que indica si el origen de datos admite el filtrado.
Propiedad públicaSupportsSearchingObtiene un valor que indica si el origen de datos permite buscar con el método de Find .
Propiedad públicaSupportsSortingobtiene un valor que indica si el origen de datos admite la ordenación.
Propiedad públicaSyncRootObtiene un objeto que se puede usar para sincronizar el acceso a la lista subyacente.
Arriba

  NombreDescripción
Método públicoAddagrega un elemento existente a la lista interna.
Método públicoAddNewAgrega un nuevo elemento a la lista subyacente.
Método públicoApplySort(ListSortDescriptionCollection)Ordena el origen de datos con descripciones especificadas de ordenación.
Método públicoApplySort(PropertyDescriptor, ListSortDirection)Ordena el origen de datos mediante la propiedad especificada descriptor y la dirección de la ordenación.
Método públicoCancelEditCancela la operación de edición actual.
Método públicoClearquita todos los elementos de la lista.
Método públicoContainsdetermina si un objeto es un elemento en la lista.
Método públicoCopyToCopia el contenido de List en la matriz especificada, empezando por el valor de índice especificado.
Método públicoCreateObjRefCrea un objeto que contiene toda la información relevante necesaria para generar un proxy utilizado para comunicarse con un objeto remoto. (Se hereda de MarshalByRefObject).
Método públicoDispose()Libera todos los recursos utilizados por Component. (Se hereda de Component).
Método protegidoDispose(Boolean)Versiones que los recursos no administrados usados por BindingSource y opcionalmente libera los recursos administrados. (Invalida a Component.Dispose(Boolean)).
Método públicoEndEditAplica los cambios pendientes al origen de datos subyacente.
Método públicoEquals(Object)Determina si el objeto especificado es igual al objeto actual. (Se hereda de Object).
Método protegidoFinalizeLibera recursos no administrados y realiza otras operaciones de limpieza antes de que se reclame el objeto Component durante la recolección de elementos no utilizados. (Se hereda de Component).
Método públicoFind(PropertyDescriptor, Object)Buscar el índice del elemento que tiene la propiedad determinada descriptor.
Método públicoFind(String, Object)Devuelve el índice del elemento en la lista con el nombre y el valor especificados.
Método públicoGetEnumeratorRecupera un enumerador para List.
Método públicoGetHashCode Sirve como una función hash para un tipo en particular. (Se hereda de Object).
Método públicoGetItemPropertiesRecupera una matriz de los objetos de PropertyDescriptor que representan las propiedades enlazables de tipo de lista origen de datos.
Método públicoGetLifetimeServiceRecupera el objeto de servicio de duración actual que controla la directiva de duración de esta instancia. (Se hereda de MarshalByRefObject).
Método públicoGetListNameObtiene el nombre de la lista que proporciona datos para el enlace.
Método públicoGetRelatedCurrencyManagerObtiene el administrador relacionado de divisa del miembro de datos especificado.
Método protegidoGetServiceDevuelve un objeto que representa el servicio suministrado por Component o por Container. (Se hereda de Component).
Método públicoGetType Obtiene el Type de la instancia actual. (Se hereda de Object).
Método públicoIndexOfBusca el objeto especificado y devuelve el índice de la primera aparición dentro de la lista completa.
Método públicoInitializeLifetimeServiceObtiene un objeto de servicio de duración para controlar la directiva de duración de esta instancia. (Se hereda de MarshalByRefObject).
Método públicoInsertinserta un elemento en la lista en el índice especificado.
Método protegidoMemberwiseClone() Crea una copia superficial del Object actual. (Se hereda de Object).
Método protegidoMemberwiseClone(Boolean)Crea una copia superficial del objeto MarshalByRefObject actual. (Se hereda de MarshalByRefObject).
Método públicoMoveFirstSe desplaza al primer elemento de la lista.
Método públicoMoveLastSe desplaza al último elemento de la lista.
Método públicoMoveNextSe desplaza al siguiente elemento de la lista.
Método públicoMovePreviousSe desplaza al elemento anterior en la lista.
Método protegidoOnAddingNewProvoca el evento de AddingNew .
Método protegidoOnBindingCompleteProvoca el evento de BindingComplete .
Método protegidoOnCurrentChangedProvoca el evento de CurrentChanged .
Método protegidoOnCurrentItemChangedProvoca el evento de CurrentItemChanged .
Método protegidoOnDataErrorProvoca el evento de DataError .
Método protegidoOnDataMemberChangedProvoca el evento de DataMemberChanged .
Método protegidoOnDataSourceChangedProvoca el evento de DataSourceChanged .
Método protegidoOnListChangedProvoca el evento de ListChanged .
Método protegidoOnPositionChangedProvoca el evento de PositionChanged .
Método públicoRemovequita el elemento especificado de la lista.
Método públicoRemoveAtquita el elemento en el índice especificado en la lista.
Método públicoRemoveCurrentquita el elemento actual de la lista.
Método públicoRemoveFilterQuita el filtro asociado a BindingSource.
Método públicoRemoveSortQuita la ordenación asociado a BindingSource.
Método públicoResetAllowNewInfraestructura. reinicializa la propiedad de AllowNew .
Método públicoResetBindingsHaga un límite del control a BindingSource para releer todos los elementos de la lista y actualizar sus valores mostrados.
Método públicoResetCurrentItemHaga un límite del control a BindingSource para releer el elemento actualmente seleccionado y actualizar el valor mostrado.
Método públicoResetItemHaga un límite del control a BindingSource para releer el elemento en el índice especificado, y actualizar el valor mostrado.
Método públicoResumeBindingReanuda el enlace de datos.
Método públicoSuspendBindingSuspende el enlace de datos para evitar que los cambios que actualicen el origen de datos enlazado.
Método públicoToStringDevuelve un objeto String que contiene el nombre del objeto Component, en caso de que exista. Este método no debe reemplazarse. (Se hereda de Component).
Arriba

  NombreDescripción
Evento públicoAddingNew Se produce antes de que se agregue un elemento a la lista subyacente.
Evento públicoBindingCompleteSe produce cuando se ha enlazado a todos los clientes a este BindingSource.
Evento públicoCurrentChanged Se produce cuando cambia el elemento enlazado actual.
Evento públicoCurrentItemChangedSe produce cuando un valor de propiedad de la propiedad de Current ha cambiado.
Evento públicoDataErrorSe produce cuando una excepción moneda-relacionada controla automáticamente por BindingSource.
Evento públicoDataMemberChangedSe produce cuando el valor de propiedad de DataMember ha cambiado.
Evento públicoDataSourceChangedSe produce cuando el valor de propiedad de DataSource ha cambiado.
Evento públicoDisposedSe produce cuando el componente se elimina mediante una llamada al método Dispose. (Se hereda de Component).
Evento públicoListChangedSe produce cuando cambia la lista subyacente o un elemento de la lista.
Evento públicoPositionChangedSe produce cuando el valor de la propiedad de Position ha cambiado.
Arriba

  NombreDescripción
Método de extensión públicoAsParallelHabilita la paralelización de una consulta. (Definido por ParallelEnumerable).
Método de extensión públicoAsQueryableConvierte una interfaz IEnumerable en IQueryable. (Definido por Queryable).
Método de extensión públicoCast<TResult>Convierte los elementos de IEnumerable en el tipo especificado. (Definido por Enumerable).
Método de extensión públicoOfType<TResult>Filtra los elementos de IEnumerable en función de un tipo especificado. (Definido por Enumerable).
Arriba

  NombreDescripción
Implementación explícita de interfacesMétodo privadoIBindingList.AddIndexAgrega PropertyDescriptor a índices utilizados para buscar.
Implementación explícita de interfacesMétodo privadoIBindingList.RemoveIndexQuita System.ComponentModel.PropertyDescriptor de índices utilizados para buscar.
Implementación explícita de interfacesMétodo privadoICancelAddNew.CancelNewdescarta un nuevo elemento pendiente de la colección.
Implementación explícita de interfacesMétodo privadoICancelAddNew.EndNewConfía en un nuevo elemento pendiente a la colección.
Implementación explícita de interfacesMétodo privadoISupportInitialize.BeginInitSeñala BindingSource que la inicialización está iniciando.
Implementación explícita de interfacesMétodo privadoISupportInitialize.EndInitSeñala BindingSource que la inicialización está completa.
Implementación explícita de interfacesEvento privadoISupportInitializeNotification.InitializedSe produce cuando se inicializa BindingSource .
Implementación explícita de interfacesPropiedad privadaISupportInitializeNotification.IsInitializedObtiene un valor que indica si el objeto BindingSource está inicializado.
Arriba

El componente de BindingSource sirve para muchos propósitos. Primero, simplifica enlazar controles de un formulario a los datos proporcionando la administración de divisa, la notificación de cambios, y otros servicios entre los controles de formularios Windows Forms y los orígenes de datos. Esto se logra mediante el componente de BindingSource al origen de datos mediante la propiedad de DataSource . Para los escenarios de enlace complejas opcionalmente puede establecer la propiedad de DataMember a una columna o una lista específica en el origen de datos. A continuación enlace controles a BindingSource. Todas las demás interacciones con los datos se logra con llamadas al componente de BindingSource . Para obtener ejemplos sobre cómo BindingSource puede simplificar el proceso de enlace, vea Cómo: Enlazar controles de formularios Windows Forms a valores de base de datos DBNull y Cómo: Controlar errores y excepciones que se producen con el enlace de datos. La navegación y la actualización del origen de datos es realizados con métodos como MoveNext, MoveLast, y Remove. Operaciones como la ordenación y el filtrado se controlan a través de las propiedades de Sort y de Filter . Para obtener más información sobre cómo utilizar la ordenación y el filtrado con BindingSource, vea Cómo: Ordenar y filtrar datos ADO.NET con el componente BindingSource de formularios Windows Forms.

Además, el componente de BindingSource puede actuar como un origen de datos fuertemente tipado. Corrigen normalmente al tipo de origen de datos subyacente con uno de los siguientes mecanismos:

  • Utilice el método de Add para agregar un elemento al componente de BindingSource .

  • Establezca la propiedad de DataSource en una lista, un solo objeto, o un tipo.

ambos mecanismos crean una lista fuertemente tipada. Para obtener más información sobre cómo utilizar BindingSource para enlazar a un tipo, vea Cómo: Enlazar un control de Windows Forms a un tipo. También puede utilizar BindingSource para enlazar controles a un objeto generador. Para obtener más información sobre cómo hacerlo, vea Cómo: Enlazar un control de Windows Forms a un objeto Factory.

NotaNota

Dado que BindingSource controla orígenes simples y de datos complejos, terminología es problemática. Dentro de esta documentación de la clase, la lista terminológica hace referencia a una recolección de datos en el origen de datos hospedado, y el elemento indica un solo elemento. Para explicar la funcionalidad asociada con orígenes de datos complejos, se utilizan la tabla de los términos y la fila equivalentes.

BindingSource proporciona miembros para tener acceso a los datos subyacentes. El elemento actual se puede recuperar mediante la propiedad de Current , y la lista completa se puede recuperar mediante la propiedad de List . Las operaciones de edición se admiten en el elemento actual con Current y RemoveCurrent, EndEdit, CancelEdit y Add y los métodos de AddNew . Aunque la administración de divisa se controla automáticamente para todos los tipos de orígenes de datos subyacentes, expone de esta clase varios eventos, como CurrentItemChanged y DataSourceChanged, que permiten la personalización.

Los orígenes de datos que se enlazan a un componente de BindingSource también se pueden navegar y administrar con la clase de BindingNavigator , que proporciona a VCR-como la interfaz de (UI) usuario para los elementos que navegar dentro de una lista. Aunque BindingNavigator se puede enlazar a cualquier origen de datos, se diseñó para integrar con un componente de BindingSource a través de la propiedad de BindingNavigator.BindingSource .

La propiedad predeterminada de la clase de BindingSource es DataSource. el evento predeterminado es CurrentChanged.

Nota de precauciónPrecaución

Muchos de los miembros de la clase de BindingSource operan en la lista subyacente representada por la propiedad de List y vea simplemente la operación a la lista subyacente. Por consiguiente, cuando BindingSource se enlaza a una implementación personalizada de IList, el comportamiento exacto de estos miembros puede diferir del comportamiento descrito en la documentación de la clase. Por ejemplo, las llamadas al método IList.RemoveAtde RemoveAt . La documentación de BindingSource describe el método de RemoveAt entendiendo que el método de RemoveAt para IList subyacente está correctamente implementado.

El ejemplo de código siguiente se muestra ListBox enlazado a BindingSource. BindingSource se enlaza a BindingList<T> que contiene una lista de fuentes.


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

Compatible con: 4.5, 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (no se admite el rol Server Core), Windows Server 2008 R2 (se admite el rol Server Core con SP1 o versiones posteriores; no se admite Itanium)

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Todos los miembros públicos static (Shared en Visual Basic) de este tipo son seguros para subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft