Заполнить ComboBox с функцией? - PullRequest
0 голосов
/ 25 июня 2019

Как я могу заполнить comboBox функцией при чтении его содержимого из базы данных sql, используя C #

FOR Пример

fillcombo ("DisplayMamber", "ValueMember", "ColumnName", "TableName");

ИЛИ

fillcombo ("ColumnName", "TableName");

1 Ответ

0 голосов
/ 26 июня 2019

Трудно сказать, где именно вы застряли, но вы должны быть в состоянии начать что-то вроде этого:

public static void Bind<T>(ComboBox combo, List<T> Models, string Name, string Value)
    {
        var binding = new BindingSource();

        binding.DataSource = Models;
        combo.DataSource = binding.DataSource;
        combo.DisplayMember = Name;
        combo.ValueMember = Value;
    }

Если предположить, что у меня есть winforms, у меня есть кнопки, каждая из которых имеет событие, подобное:

 private void button2_Click(object sender, EventArgs e)
 {
    List<State> states = new List<State>();
    using (var dc = new CustomersEntities())
    {
        states = dc.States.ToList();
    }

    Bind<State>(comboBox1, states, "StateName", "Id");
 }

Это не идеальный шаблон, но для начала он будет работать идеально.

Что вас может заинтересовать, это что-то вроде универсального репозитория и создания универсальной библиотеки вокруг него.так что у вас могут быть методы, которые больше похожи на:

public static void GetCities()
{
    comboBoxCities.Bind<City>(repository.AllCities(), x => x.Name, x.Id);
}

, но это на самом деле не рассматривается в вопросе или два.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...