Jaki jest najprostszy sposób powiązania Listbox do listy obiektów?Binding Listbox do listy <object>
Odpowiedz
Patrzysz na DataSource property
:
List<SomeType> someList = ...;
myListBox.DataSource = someList;
Należy również ustawić właściwość DisplayMember
nazwy właściwości w obiekcie, który chcesz listbox do wyświetlania. Jeśli nie, zadzwoni pod numer ToString()
.
Co zrobić, aby usunąć element SomeType z Listbox poprzez wybór? – cam
'someList.Remove ((SomeType) myListBox.SelectedValue);' (W WinForms) – SLaks
Witaj. Działa to dla mnie, o ile nie dodaję niczego do kolekcji. Jak tylko zmienię moje pozycje kolekcji w liście nie zaktualizuje się. Nawet po przypisaniu źródła danych po przełączeniu elementów w kolekcji. – Hooch
prawda, to nie ma nic prawdziwie zapewniają znaczące chyba że obiekty zostały prawidłowo nadpisane ToString()
(lub nie jesteś naprawdę pracuje z ogólnej listy obiektów i może wiązać się z konkretnych dziedzin):
List<object> objList = new List<object>();
// Fill the list
someListBox.DataSource = objList;
Udając wyświetlasz listę obiektów z klientami „CustomerName” i „customerId” właściwości:
listBox.DataSource = customerListObject;
listBox.DataTextField = "customerName";
listBox.DataValueField = "customerId";
listBox.DataBind();
Edit: wiem, że to działa w ASP.NET - jeśli robisz app WinForm, to powinien być całkiem podobny (mam nadzieję ...)
Windows.Forms.Listbox ma innych członków; patrz poniżej. – surfmuggle
Istnieją dwa nain trasy tutaj:
1: listBox1.DataSource = yourList;
wykonywać żadnych manipulacji (Dodaj/Usuń), aby yourList i REBIND.
Ustaw DisplayMember i valueMember, aby kontrolować wyświetlane elementy.
2: lsitBox1.Items.AddRange(yourList.ToArray());
(lub użyć dla pętli zrobić Items.Add(...)
)
można sterować wyświetlacz przeciążenia toString() lista obiektów lub poprzez wdrożenie zdarzenie listBox1.Format.
Wiązanie System.Windows.Forms.Listbox kontrolą do listy obiektów (tutaj typu dynamiczny)
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";
Proszę odnieść się do this artykule szczegółowych przykładów.
I haven „t widział tu więc pisać, bo dla mnie jest to najlepszy sposób na WinForms:
List<object> objList = new List<object>();
listBox.DataSource = objList ;
listBox.Refresh();
listBox.Update();
- 1. ListBox SelectedItems Binding
- 2. Powiązanie ListBox do listy (kolekcja) w XAML
- 3. WPF ListBox ItemsSource StaticResource/pytanie Binding
- 4. Animowane elementy dodane do listy danych ListBox
- 5. Powiązanie listy w pliku FlowDocument do listy <MyClass>?
- 6. Stretch ListBox Przedmioty uderzają obszar do pełnej szerokości ListBox? Styl ListBox jest ustawiony domyślnie poprzez motyw:
- 7. Dodawanie obrazu do elementu ListBox
- 8. Jak przewinąć do dołu ListBox?
- 9. Jak dodać pozycję do początku listy w ListBox?
- 10. Knockoutjs click binding in foreach binding
- 11. WPF: Ustaw właściwość wiązania dla wiązania ListBox
- 12. Pokaż dane niestandardowego obiektu do ListBox WPF
- 13. Multiselect ListBox
- 14. ListBox Przewiń do widoku z MVVM
- 15. Kopiowanie Lista <BaseClass> do listy <DerivedClass>
- 16. Convert Lista <Enum> do listy <string>
- 17. konwertować EnumerableRowCollection <string> do listy <string>
- 18. Casting IEnumerable <T> do listy <T>
- 19. C do listy <short>
- 20. Delegowanie do listy <modeltype> MVC3
- 21. DataTable do listy <object>
- 22. bitowe operacja do listy <bool>
- 23. listy <int> konwersji do int []
- 24. Html.HiddenFor binding do niewłaściwego elementu
- 25. Binding tymczasowy do lwartości odniesienia
- 26. WPF: Binding do ComboBox SelectedItem
- 27. Binding wybór TreeView do ViewModel
- 28. C-Force ListBox do aktualizacji elementów
- 29. ListBox nie odświeżać po własności zmieniło
- 30. Filtr WPF ListBox
jaka jest twoja platforma? silverlight? WPF? WinFormy? ASP.NET? odpowiedź zależy od tej wiedzy. –