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

BindingList<T> (Clase)

Proporciona una colección genérica que admite el enlace de datos.

Espacio de nombres:  System.ComponentModel
Ensamblado:  System (en System.dll)

[SerializableAttribute]
[HostProtectionAttribute(SecurityAction.LinkDemand, SharedState = true)]
public class BindingList<T> : Collection<T>, 
	IBindingList, IList, ICollection, IEnumerable, ICancelAddNew, 
	IRaiseItemChangedEvents

Parámetros de tipo

T

Tipo de elementos en la lista.

El tipo BindingList<T> expone los siguientes miembros.

  NombreDescripción
Método públicoCompatible con XNA FrameworkBindingList<T>()Inicializa una nueva instancia de la clase BindingList<T> utilizando valores predeterminados.
Método públicoCompatible con XNA FrameworkBindingList<T>(IList<T>)Inicializa una nueva instancia de la clase BindingList<T> con la lista especificada.
Arriba

  NombreDescripción
Propiedad públicaCompatible con XNA FrameworkAllowEditObtiene o establece un valor que indica si se pueden editar los elementos de la lista.
Propiedad públicaCompatible con XNA FrameworkAllowNewObtiene o establece un valor que indica si se pueden agregar elementos a la lista utilizando el método AddNew.
Propiedad públicaCompatible con XNA FrameworkAllowRemoveObtiene o establece un valor que indica si se pueden quitar elementos de la colección.
Propiedad públicaCompatible con XNA FrameworkCountObtiene el número de elementos contenido realmente en Collection<T>. (Se hereda de Collection<T>).
Propiedad protegidaCompatible con XNA FrameworkIsSortedCoreObtiene un valor que indica si la lista está ordenada.
Propiedad públicaCompatible con XNA FrameworkItemObtiene o establece el elemento que se encuentra en el índice especificado. (Se hereda de Collection<T>).
Propiedad protegidaCompatible con XNA FrameworkItemsObtiene un contenedor de IList<T> para la colección Collection<T>. (Se hereda de Collection<T>).
Propiedad públicaCompatible con XNA FrameworkRaiseListChangedEventsObtiene o establece un valor que indica si la adición o eliminación de elementos de la lista provoca eventos ListChanged.
Propiedad protegidaCompatible con XNA FrameworkSortDirectionCoreObtiene la dirección en que se ordena la lista.
Propiedad protegidaCompatible con XNA FrameworkSortPropertyCoreObtiene el descriptor de propiedades que se utiliza para ordenar la lista si se ha implementado la ordenación en una clase derivada; de lo contrario, devuelve null.
Propiedad protegidaCompatible con XNA FrameworkSupportsChangeNotificationCoreObtiene un valor que indica si están habilitados los eventos ListChanged.
Propiedad protegidaCompatible con XNA FrameworkSupportsSearchingCoreObtiene un valor que indica si la lista admite las búsquedas.
Propiedad protegidaCompatible con XNA FrameworkSupportsSortingCoreObtiene un valor que indica si la lista admite la ordenación.
Arriba

  NombreDescripción
Método públicoCompatible con XNA FrameworkAddAgrega un objeto al final de la colección Collection<T>. (Se hereda de Collection<T>).
Método públicoCompatible con XNA FrameworkAddNewAgrega un nuevo elemento a la colección.
Método protegidoCompatible con XNA FrameworkAddNewCoreAgrega un nuevo elemento al final de la colección.
Método protegidoCompatible con XNA FrameworkApplySortCoreSi se reemplaza en una clase derivada, ordena los elementos; en caso contrario, produce una excepción NotSupportedException.
Método públicoCompatible con XNA FrameworkCancelNewDescarta un nuevo elemento pendiente.
Método públicoCompatible con XNA FrameworkClearQuita todos los elementos de la colección Collection<T>. (Se hereda de Collection<T>).
Método protegidoCompatible con XNA FrameworkClearItemsQuita todos los elementos de la colección. (Invalida a Collection<T>.ClearItems()).
Método públicoCompatible con XNA FrameworkContainsDetermina si un elemento se encuentra en la colección Collection<T>. (Se hereda de Collection<T>).
Método públicoCompatible con XNA FrameworkCopyToCopia la totalidad de Collection<T> en una matriz Array unidimensional y compatible, comenzando en el índice especificado de la matriz de destino. (Se hereda de Collection<T>).
Método públicoCompatible con XNA FrameworkEndNewConfirma un nuevo elemento pendiente en la colección.
Método públicoCompatible con XNA FrameworkEquals(Object)Determina si el objeto especificado es igual al objeto actual. (Se hereda de Object).
Método protegidoCompatible con XNA FrameworkFinalize Permite que un objeto intente liberar recursos y realizar otras operaciones de limpieza antes de ser reclamado por la recolección de elementos no utilizados. (Se hereda de Object).
Método protegidoCompatible con XNA FrameworkFindCoreSi se han implementado las búsquedas en una clase derivada, busca el índice del elemento que contiene el descriptor de propiedades especificado con el valor indicado; en caso contrario, produce una excepción NotSupportedException.
Método públicoCompatible con XNA FrameworkGetEnumeratorDevuelve un enumerador que recorre en iteración la colección Collection<T>. (Se hereda de Collection<T>).
Método públicoCompatible con XNA FrameworkGetHashCode Sirve como una función hash para un tipo en particular. (Se hereda de Object).
Método públicoCompatible con XNA FrameworkGetType Obtiene el Type de la instancia actual. (Se hereda de Object).
Método públicoCompatible con XNA FrameworkIndexOfBusca el objeto especificado y devuelve el índice de base cero de la primera aparición en toda la colección Collection<T>. (Se hereda de Collection<T>).
Método públicoCompatible con XNA FrameworkInsertInserta un elemento en la colección Collection<T> en el índice especificado. (Se hereda de Collection<T>).
Método protegidoCompatible con XNA FrameworkInsertItemInserta el elemento determinado en el índice especificado de la lista. (Invalida a Collection<T>.InsertItem(Int32, T)).
Método protegidoCompatible con XNA FrameworkMemberwiseClone Crea una copia superficial del Object actual. (Se hereda de Object).
Método protegidoCompatible con XNA FrameworkOnAddingNewGenera el evento AddingNew.
Método protegidoCompatible con XNA FrameworkOnListChangedGenera el evento ListChanged.
Método públicoCompatible con XNA FrameworkRemoveQuita la primera aparición de un objeto específico de la colección Collection<T>. (Se hereda de Collection<T>).
Método públicoCompatible con XNA FrameworkRemoveAtQuita el elemento en el índice especificado de Collection<T>. (Se hereda de Collection<T>).
Método protegidoCompatible con XNA FrameworkRemoveItemQuita el elemento en el índice especificado. (Invalida a Collection<T>.RemoveItem(Int32)).
Método protegidoCompatible con XNA FrameworkRemoveSortCoreCuando se ha implementado la ordenación en una clase derivada, quita cualquier ordenación aplicada mediante ApplySortCore; en caso contrario, provoca una excepción NotSupportedException.
Método públicoCompatible con XNA FrameworkResetBindingsProvoca un evento ListChanged de tipo Reset.
Método públicoCompatible con XNA FrameworkResetItemProvoca un evento ListChanged de tipo ItemChanged para el elemento situado en la posición especificada.
Método protegidoCompatible con XNA FrameworkSetItemReemplaza el elemento situado en el índice determinado con el elemento especificado. (Invalida a Collection<T>.SetItem(Int32, T)).
Método públicoCompatible con XNA FrameworkToString Retorna una cadena que representa al objeto actual. (Se hereda de Object).
Arriba

  NombreDescripción
Evento públicoCompatible con XNA FrameworkAddingNewSe produce antes de que se agregue un elemento a la lista.
Evento públicoCompatible con XNA FrameworkListChangedSe produce cuando cambia la lista o un elemento de la lista.
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úblicoCompatible con XNA FrameworkCast<TResult>Convierte los elementos de IEnumerable en el tipo especificado. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkOfType<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 privadoCompatible con XNA FrameworkIBindingList.AddIndexPara obtener una descripción de este miembro, vea AddIndex.
Implementación explícita de interfacesMétodo privadoCompatible con XNA FrameworkIBindingList.AddNewAgrega un nuevo elemento a la lista. Para obtener más información, vea AddNew.
Implementación explícita de interfacesPropiedad privadaCompatible con XNA FrameworkIBindingList.AllowEditObtiene un valor que indica si se pueden editar los elementos de la lista.
Implementación explícita de interfacesPropiedad privadaCompatible con XNA FrameworkIBindingList.AllowNewObtiene un valor que indica si se pueden agregar nuevos elementos a la lista utilizando el método AddNew.
Implementación explícita de interfacesPropiedad privadaCompatible con XNA FrameworkIBindingList.AllowRemoveObtiene un valor que indica si se pueden quitar elementos de la lista.
Implementación explícita de interfacesMétodo privadoCompatible con XNA FrameworkIBindingList.ApplySortOrdena la lista basándose en PropertyDescriptor y ListSortDirection. Para obtener una descripción completa de este miembro, vea ApplySort.
Implementación explícita de interfacesMétodo privadoCompatible con XNA FrameworkIBindingList.FindPara obtener una descripción de este miembro, vea Find.
Implementación explícita de interfacesPropiedad privadaCompatible con XNA FrameworkIBindingList.IsSortedPara obtener una descripción de este miembro, vea IsSorted.
Implementación explícita de interfacesMétodo privadoCompatible con XNA FrameworkIBindingList.RemoveIndexPara obtener una descripción de este miembro, vea RemoveIndex.
Implementación explícita de interfacesMétodo privadoCompatible con XNA FrameworkIBindingList.RemoveSortPara obtener una descripción de este miembro, vea RemoveSort.
Implementación explícita de interfacesPropiedad privadaCompatible con XNA FrameworkIBindingList.SortDirectionPara obtener una descripción de este miembro, vea SortDirection.
Implementación explícita de interfacesPropiedad privadaCompatible con XNA FrameworkIBindingList.SortPropertyPara obtener una descripción de este miembro, vea SortProperty.
Implementación explícita de interfacesPropiedad privadaCompatible con XNA FrameworkIBindingList.SupportsChangeNotificationPara obtener una descripción de este miembro, vea SupportsChangeNotification.
Implementación explícita de interfacesPropiedad privadaCompatible con XNA FrameworkIBindingList.SupportsSearchingPara obtener una descripción de este miembro, vea SupportsSearching.
Implementación explícita de interfacesPropiedad privadaCompatible con XNA FrameworkIBindingList.SupportsSortingPara obtener una descripción de este miembro, vea SupportsSorting.
Implementación explícita de interfacesMétodo privadoCompatible con XNA FrameworkICollection.CopyToCopia los elementos de la interfaz ICollection en un objeto Array, a partir de un índice determinado de la clase Array. (Se hereda de Collection<T>).
Implementación explícita de interfacesPropiedad privadaCompatible con XNA FrameworkICollection<T>.IsReadOnlyObtiene un valor que indica si ICollection<T> es de sólo lectura. (Se hereda de Collection<T>).
Implementación explícita de interfacesPropiedad privadaCompatible con XNA FrameworkICollection.IsSynchronizedObtiene un valor que indica si el acceso a la interfaz ICollection está sincronizado (es seguro para subprocesos). (Se hereda de Collection<T>).
Implementación explícita de interfacesPropiedad privadaCompatible con XNA FrameworkICollection.SyncRootObtiene un objeto que se puede utilizar para sincronizar el acceso a ICollection. (Se hereda de Collection<T>).
Implementación explícita de interfacesMétodo privadoCompatible con XNA FrameworkIEnumerable.GetEnumeratorDevuelve un enumerador que recorre en iteración una colección. (Se hereda de Collection<T>).
Implementación explícita de interfacesMétodo privadoCompatible con XNA FrameworkIList.AddAgrega un elemento al objeto IList. (Se hereda de Collection<T>).
Implementación explícita de interfacesMétodo privadoCompatible con XNA FrameworkIList.ContainsDetermina si la interfaz IList contiene un valor específico. (Se hereda de Collection<T>).
Implementación explícita de interfacesMétodo privadoCompatible con XNA FrameworkIList.IndexOfDetermina el índice de un elemento específico en la interfaz IList. (Se hereda de Collection<T>).
Implementación explícita de interfacesMétodo privadoCompatible con XNA FrameworkIList.InsertInserta un elemento en la interfaz IList, en el índice especificado. (Se hereda de Collection<T>).
Implementación explícita de interfacesPropiedad privadaCompatible con XNA FrameworkIList.IsFixedSizeObtiene un valor que indica si la interfaz IList tiene un tamaño fijo. (Se hereda de Collection<T>).
Implementación explícita de interfacesPropiedad privadaCompatible con XNA FrameworkIList.IsReadOnlyObtiene un valor que indica si IList es de sólo lectura. (Se hereda de Collection<T>).
Implementación explícita de interfacesPropiedad privadaCompatible con XNA FrameworkIList.ItemObtiene o establece el elemento que se encuentra en el índice especificado. (Se hereda de Collection<T>).
Implementación explícita de interfacesMétodo privadoCompatible con XNA FrameworkIList.RemoveQuita la primera aparición de un objeto específico de la interfaz IList. (Se hereda de Collection<T>).
Implementación explícita de interfacesPropiedad privadaCompatible con XNA FrameworkIRaiseItemChangedEvents.RaisesItemChangedEventsObtiene un valor que indica si los cambios en los valores de propiedades de los elementos provocan eventos ListChanged de tipo ItemChanged. Este miembro no se puede reemplazar en una clase derivada.
Arriba

La clase BindingList<T> se puede utilizar como una clase base para crear un mecanismo de enlace de datos bidireccional. BindingList<T> proporciona una implementación genérica concreta de la interfaz IBindingList. Supone una alternativa a implementar la interfaz IBindingList completa, lo que puede resultar difícil por la discreta interacción entre IBindingList, IEditableObject y la clase CurrencyManager asociada. Sin embargo, la solución más normal es que el programador utilice una clase que proporcione funcionalidad de enlace de datos, como BindingSource, en lugar de utilizar directamente BindingList<T>.

BindingList<T> admite las instancias creadas por generador a través del método AddNew extensible. (Este mismo tipo de extensibilidad también se encuentra en otras clases, como BindingSource.) Además, como esta clase implementa la interfaz ICancelAddNew, durante la transacción permite confirmar o deshacer el nuevo elemento mediante los métodos EndNew y CancelNew.

NotaNota

El atributo HostProtectionAttribute aplicado a este tipo o miembro tiene el valor de propiedad Resources siguiente: SharedState. El atributo HostProtectionAttribute no afecta a las aplicaciones de escritorio (que normalmente se inician haciendo doble clic en un icono, escribiendo un comando o introduciendo una dirección URL en el explorador). Para obtener más información, vea la clase HostProtectionAttribute o Programación en SQL Server y atributos de protección de host.

En el ejemplo de código siguiente se muestra la manera de enlazar a un componente BindingList<T> que contiene un objeto comercial. Éste es un ejemplo completo que contiene un método Main.


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

namespace BindingListOfTExamples
{
    public partial class Form1 : Form
    {
        private TextBox textBox2;
        private ListBox listBox1;
        private Button button1;
        private TextBox textBox1;
        Random randomNumber = new Random();

        public Form1()
        {
           this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
           this.textBox1 = new System.Windows.Forms.TextBox();
           this.textBox2 = new System.Windows.Forms.TextBox();
           this.listBox1 = new System.Windows.Forms.ListBox();
           this.button1 = new System.Windows.Forms.Button();
           this.textBox1.Location = new System.Drawing.Point(169, 26);
           this.textBox1.Size = new System.Drawing.Size(100, 20);
           this.textBox1.Text = "Bracket";
           this.textBox2.Location = new System.Drawing.Point(169, 57);
           this.textBox2.ReadOnly = true;
           this.textBox2.Size = new System.Drawing.Size(100, 20);
           this.textBox2.Text = "4343";
           this.listBox1.FormattingEnabled = true;
           this.listBox1.Location = new System.Drawing.Point(12, 12);
           this.listBox1.Size = new System.Drawing.Size(120, 95);
           this.button1.Location = new System.Drawing.Point(180, 83);
           this.button1.Size = new System.Drawing.Size(75, 23);
           this.button1.Text = "Add New Item";
           this.button1.Click += new System.EventHandler(this.button1_Click);
           this.ClientSize = new System.Drawing.Size(292, 266);
           this.Controls.Add(this.button1);
           this.Controls.Add(this.listBox1);
           this.Controls.Add(this.textBox2);
           this.Controls.Add(this.textBox1);
           this.Text = "Parts Form";
           this.Load += new EventHandler(Form1_Load);

        }

        void Form1_Load(object sender, EventArgs e)
        {
            InitializeListOfParts();
            listBox1.DataSource = listOfParts;
            listBox1.DisplayMember = "PartName";
            listOfParts.AddingNew += new AddingNewEventHandler(listOfParts_AddingNew);
            listOfParts.ListChanged += new ListChangedEventHandler(listOfParts_ListChanged);

        }



        // Declare a new BindingListOfT with the Part business object.
        BindingList<Part> listOfParts; 
        private void InitializeListOfParts()
        {
            // Create the new BindingList of Part type.
            listOfParts = new BindingList<Part>();

            // Allow new parts to be added, but not removed once committed.        
            listOfParts.AllowNew = true;
            listOfParts.AllowRemove = false;

            // Raise ListChanged events when new parts are added.
            listOfParts.RaiseListChangedEvents = true;

            // Do not allow parts to be edited.
            listOfParts.AllowEdit = false;

            // Add a couple of parts to the list.
            listOfParts.Add(new Part("Widget", 1234));
            listOfParts.Add(new Part("Gadget", 5647));
        }


        // Create a new part from the text in the two text boxes.
        void listOfParts_AddingNew(object sender, AddingNewEventArgs e)
        {
            e.NewObject = new Part(textBox1.Text, int.Parse(textBox2.Text));

        }


        // Add the new part unless the part number contains
        // spaces. In that case cancel the add.
        private void button1_Click(object sender, EventArgs e)
        {
            Part newPart = listOfParts.AddNew();

            if (newPart.PartName.Contains(" "))
            {
                MessageBox.Show("Part names cannot contain spaces.");
                listOfParts.CancelNew(listOfParts.IndexOf(newPart));
            }
            else
            {
                textBox2.Text = randomNumber.Next(9999).ToString();
                textBox1.Text = "Enter part name";
            }
        }

        void listOfParts_ListChanged(object sender, ListChangedEventArgs e)
        {
            MessageBox.Show(e.ListChangedType.ToString());
        }

        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.Run(new Form1());
        }

    }

    // A simple business object for example purposes.
    public class Part
    {
        private string name;
        private int number;
        public Part() { }
        public Part(string nameForPart, int numberForPart)
        {
            PartName = nameForPart;
            PartNumber = numberForPart;
        }

        public string PartName
        {
            get { return name; }
            set { name = value; }
        }

        public int PartNumber
        {
            get { return number; }
            set { number = value; }
        }
    }
}


.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