¿Cuál es la forma más simple de vincular un Listbox a una lista de objetos?Encuadernación Listbox a la lista <object>
Respuesta
Usted está buscando el DataSource property
:
List<SomeType> someList = ...;
myListBox.DataSource = someList;
También debe establecer la propiedad DisplayMember
al nombre de una propiedad en el objeto que desea que el cuadro de lista que se vea. Si no lo hace, llamará al ToString()
.
¿Qué debo hacer para eliminar un elemento de SomeType del Listbox a través de la selección? – cam
'someList.Remove ((SomeType) myListBox.SelectedValue);' (En WinForms) – SLaks
Hola. Me funciona, siempre y cuando no agregue nada a la colección. Tan pronto como cambio los elementos de mi colección en el cuadro de lista, no se actualiza. Incluso después de asignar dataSource después de cambiar elementos en la colección. – Hooch
Por supuesto, esto no va a ofrecerle nada verdaderamente significativo a menos que los objetos han anulado correctamente ToString()
(o en realidad no estás trabajando con una lista genérica de los objetos y se puede unir a campos específicos):
List<object> objList = new List<object>();
// Fill the list
someListBox.DataSource = objList;
Fingir que está visualizando una lista de objetos con los clientes "customerName" y propiedades "customerId":
listBox.DataSource = customerListObject;
listBox.DataTextField = "customerName";
listBox.DataValueField = "customerId";
listBox.DataBind();
Editar: sé que esto funciona en asp.net - si usted está haciendo una aplicación de Windows Forms, lo que debería ser bastante similar (espero ...)
Windows.Forms.Listbox tiene otros miembros; vea abajo. – surfmuggle
Hay dos rutas Nain aquí:
1: listBox1.DataSource = yourList;
hacer ninguna manipulación de (Añadir/Eliminar) para yourList y volver a enlazar.
Establezca DisplayMember y valueMember para controlar lo que se muestra.
2: lsitBox1.Items.AddRange(yourList.ToArray());
(o utilizar un bucle para hacer Items.Add(...)
)
Puede controlar la exhibición por la sobrecarga ToString() de los objetos de la lista o implementando el evento listBox1.Format.
Encuadernación un control de System.Windows.Forms.Listbox a una lista de objetos (aquí de tipo dinámico)
List<dynamic> dynList = new List<dynamic>() {
new {Id = 1, Name = "Elevator", Company="Vertical Pop" },
new {Id = 2, Name = "Stairs", Company="Fitness" }
};
listBox.DataSource = dynList;
listBox.DisplayMember = "Name";
listBox.ValueMember = "Id";
ListBox1.DataSource = CreateDataSource();
ListBox1.DataTextField = "FieldProperty";
ListBox1.DataValueField = "ValueProperty";
favor refiérase a this artículo para ejemplos detallados.
me refugio 't visto aquí, así que lo pongo porque para mí es la mejor manera en winforms:
List<object> objList = new List<object>();
listBox.DataSource = objList ;
listBox.Refresh();
listBox.Update();
- 1. Encuadernación Lista <string> a ComboBox
- 2. Encuadernación ListBox a List (Colección) en XAML
- 3. WPF ListBox ItemsSource StaticResource/pregunta de encuadernación
- 4. Encuadernación GridView a IQueryable <T>
- 5. Eliminando elementos de la lista de encuadernación
- 6. Encuadernación una lista <string> a un Listview en asp.net 3.5
- 7. C# ListBox ObservableCollection <T>
- 8. .NET/C# Encuadernación IList <string> a un DataGridView
- 9. Encuadernación a BindingList <T> - ¿elegir qué ligar?
- 10. Encuadernación con resorte Lista <Object> con la forma: casillas de verificación
- 11. Cómo deserializar Enumerable.ToList <>() a la lista <>
- 12. Convertir <Enum> a la lista <string>
- 13. Encuadernación Lista de listas en XAML?
- 14. Encuadernación ASP.NET MVC Modelo en una lista
- 15. Cómo agregar la lista <object> a la lista <SomethingElse>
- 16. Conversión de la lista <Integer> a la lista <String>
- 17. Encuadernación a todo el elemento de datos en XAML
- 18. Encuadernación LINQ consulta a DataGridView
- 19. Encuadernación a una expresión
- 20. Encuadernación a FocusManager.FocusedElement
- 21. MVVM Encuadernación a InkCanvas
- 22. Encuadernación doble a TextBox
- 23. Lista de fundición <x> a la lista <y>
- 24. gridview lista desplegable se unen a la lista <KeyValuePair <int, string>>
- 25. Cómo agregar la Lista <> a una Lista <> en asp.net
- 26. Copiar una lista <BaseClass> a la lista <DerivedClass>
- 27. Cast lista <int> a la lista <string> en .NET 2.0
- 28. En C#, ¿es posible emitir una lista <Child> a la lista <Parent>?
- 29. C# Lista de fundición <ushort> a la lista <short>
- 30. C# Lista <string[]> a la lista <object[]> Conversión
¿cuál es su plataforma? Silverlight? WPF? Winforms? ASP.NET? la respuesta depende un poco de este conocimiento. –