Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 用函数填充组合框?_C#_Database_Combobox - Fatal编程技术网

C# 用函数填充组合框?

C# 用函数填充组合框?,c#,database,combobox,C#,Database,Combobox,在使用C#从sql数据库读取comboBox内容时,如何用函数填充comboBox 比如说 fillcombo(“DisplayMamber”、“ValueMember”、“ColumnName”、“TableName”) 或 fillcombo(“ColumnName”、“TableName”) 很难说你到底被困在了什么地方,但你应该可以从以下几点开始: public static void Bind<T>(ComboBox combo, List<T> Models,

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

比如说

fillcombo(“DisplayMamber”、“ValueMember”、“ColumnName”、“TableName”)


fillcombo(“ColumnName”、“TableName”)

很难说你到底被困在了什么地方,但你应该可以从以下几点开始:

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;
    }
publicstaticvoidbind(组合框组合、列表模型、字符串名称、字符串值)
{
var binding=newbindingsource();
binding.DataSource=模型;
combo.DataSource=binding.DataSource;
combo.DisplayMember=名称;
combo.ValueMember=值;
}
假设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");
 }
private void按钮2\u单击(对象发送者,事件参数e)
{
列表状态=新列表();
使用(var dc=new CustomersEntities())
{
states=dc.states.ToList();
}
绑定(comboBox1,状态为“StateName”、“Id”);
}
这不是一个理想的模式,但对于入门来说,它将非常适合

您可能感兴趣的是类似于通用存储库的东西,并围绕它构建一个通用库,这样您就可以拥有更像:

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

但是一两个问题并没有真正涉及到这一点。

您想要的是字符串列表还是实际的数据绑定?你试过什么?我用display member,value member属性填充comboBox,但我现在必须为每个comboBox编写单独的代码o wan为了解决这个问题,你把我推到了这条路径上,你的答案在解决我的查询时帮了我很大的忙