在使用C#从sql数据库读取其内容的同时,如何用函数填充comboBox
FOR示例
fillcombo(“ DisplayMamber”,“ ValueMember”,“ ColumnName”,“ TableName”);
OR
fillcombo(“ ColumnName”,“ TableName”);
答案 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);
}
但是一两个问题并没有真正覆盖
。