用功能填充ComboBox吗?

时间:2019-06-25 17:44:24

标签: c# database combobox

在使用C#从sql数据库读取其内容的同时,如何用函数填充comboBox

FOR示例

fillcombo(“ DisplayMamber”,“ ValueMember”,“ ColumnName”,“ TableName”);

OR

fillcombo(“ ColumnName”,“ TableName”);

1 个答案:

答案 0 :(得分:0)

很难说你到底被困在哪里,但是你应该可以从这样的事情开始:

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;
    }

假设使用winform,我有一些按钮,每个按钮都有一个事件,例如:

 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);
}

但是一两个问题并没有真正覆盖