W jaki sposób można wypełnić combobox z bazy danych sql (tabela uczniów z identyfikatorem i kolumnami nazw), tekst wyświetlany reprezentuje nazwę ucznia, a wartość elementu combobox jest identyfikatorem dla tego ucznia, który po otrzymaniu wartość combobox otrzymam wartość identyfikatoraJak zapełnić okno C# formy combobox?
Odpowiedz
Po pierwsze musisz dowiedzieć się, jak masz zamiar odzyskać dane z DB, ale zakładam, że albo to wiesz, albo zamierzasz zadać inne pytanie w związku z tym. Od tego momentu najlepiej jest powiązać kolekcję z ComboBox
. Here jest przykładem wykonania tego z DataSet
. Możesz także powiązać z List<T>
lub innym IEnumerable<T>
, co ma więcej sensu, jeśli zamierzasz użyć LINQ do uzyskania danych. Here jest tutaj pytanie na temat wiązania List
do ComboBox
Być może możesz nam powiedzieć, w jaki sposób masz zamiar uzyskać dane, abyśmy mogli dać ci bardziej dopasowaną odpowiedź?
Poniżej znajdują się najważniejsze właściwości dla ciebie.
Źródłem danych może być bazą danych, usługi sieci Web lub obiekt, który może później zostać wykorzystane do generowania danych związana kontroli. Po ustawieniu właściwości DataSource kolekcja elementów nie może być modyfikowana.
ComboBox.DisplayMember Property
ciąg znaków określający nazwę właściwości obiektu, który jest zawarty w zbiorze określonej przez właściwość DataSource. Wartością domyślną jest pusty ciąg znaków ("").
łańcuch znaków reprezentujący nazwę właściwości obiektu, który jest zawarty w zbiorze określonej przez właściwość DataSource. Wartością domyślną jest pusty ciąg znaków ("").
DataTable dataTable = GetDataTable("Select * from Student"); // You have to implement the ways to retrieve data from the database.
comboBox1.Datasource = dataTable;
comboBox1.DisplayMember = StudentName; // Column Name
comboBox1.ValueMember = StuentId; // Column Name
Oto jeden sposób, jeśli chcesz dodać elementy programowo.
private class Item
{
public string _Name;
public int _Id
public Item(string name, int id)
{
_Name = name;
_Id = id;
}
public string Name
{
get { return _Name; }
set { _Name = value; }
}
public string Id
{
get { return _Id; }
set { _Id = value; }
}
}
comboBox1.DisplayMember = "Name";
comboBox1.ValueMember = "Id";
comboBox1.Items.Add(new Item("Student 1", 1));
comboBox1.Items.Add(new Item("Student 2", 2));
comboBox1.Items.Add(new Item("Student 3", 3));
Istnieje wiele sposobów na zrobienie tego.
W powyższy przykład musisz dodać "{get; set;}" do właściwości klasy Item "Name" i "Id", w przeciwnym razie pole kombi wyświetli tylko typ obiektu. – wavedrop
- 1. C#: Formy szklane?
- 2. Jak zapełnić ToolStripComboBox?
- 3. Domyślne okno dialogowe WPF ComboBox ControlTemplate
- 4. C# Dziwne zachowanie Combobox WPF
- 5. Niestandardowe okno dialogowe w C#?
- 6. Jak zdobyć dane w ComboBox C#
- 7. combobox wartość domyślna winforms C#
- 8. VS2010/C# Jak ustawić domyślną wartość składnika ComboBox w IDE?
- 9. Prawidłowo usprawniony combobox w C#
- 10. Formy i typy ciast
- 11. Mercurial - jak zapełnić opisy repozytoriów dla hgwebdir.cgi?
- 12. Jak zapełnić tabelę MySQL wieloma losowymi liczbami?
- 13. Jak dynamicznie zapełnić Android spinner tekst + obraz
- 14. Jak zapełnić zmienne Zend_Layout danymi backendu?
- 15. Jak zapełnić tabele wyszukiwania w testach (Rails)
- 16. Jak zapełnić niektórych domyślnych użytkowników w Devise?
- 17. Jak wykryć zminimalizowanie formy okna?
- 18. Jak ustawić okno aplikacji konsoli jako najwyższe okno (C#)?
- 19. zapełnić słownika przy użyciu LINQ
- 20. C# WPF przenieść okno
- 21. Zdarzenie komórki combobox DataGridView w języku C#
- 22. C# Wiązanie combobox do listy obiektów
- 23. Jak uruchomić okno "uruchom" z C#
- 24. C++ Jak ukryć okno konsoli podczas uruchamiania?
- 25. Jak wyświetlić okno O programie w C#?
- 26. TopMost formy w wątku?
- 27. Jak powiązać powiązanie Entity Framework z ComboBox?
- 28. C# Okno dialogowe komunikatu MessageBox
- 29. Ukrywanie czarne okno w C++
- 30. Jak zapobiec/anulować zmianę wartości combobox w C#?
Możliwe duplikat [wypełniania ComboBox C#] (http://stackoverflow.com/questions/2417960/populating-a-combobox-using-c-sharp) –