C# 用函数填充组合框?
在使用C#从sql数据库读取comboBox内容时,如何用函数填充comboBox 比如说 fillcombo(“DisplayMamber”、“ValueMember”、“ColumnName”、“TableName”) 或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,
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为了解决这个问题,你把我推到了这条路径上,你的答案在解决我的查询时帮了我很大的忙