让我先说这个,说我不做非常多的winforms工作,所以请原谅我的无知。来自ASP的绑定有点奇怪。以编程方式绑定ComboBox(s)通过控制名称
我想循环一系列的组合框,并使用控制名称和相应的存储过程字典绑定它们。这是我想要做的一个简化的例子。
public Dictionary<string, string> GetDropDownSchema()
{
return new Dictionary<string, string> { {"ddClient", "guisp_SelectClientDropDown"}, {"ddType", "guisp_SelectTypeDropDown"}, {"ddCounty", "guisp_SelectCountyDropDown"}};
}
public void BindComboBoxes()
{
var ddSchem = GetDropDownSchema();
foreach (var dd in ddSchem) {
var dt = new DataTable();
using (var con = new SqlConnection(ConStr)) {
try {
var adapter = new SqlDataAdapter(dd.Value, con);
adapter.Fill(dt);
((ComboBox)Controls.Find(dd.Key, true)[0]).DataSource = dt;
((ComboBox)Controls.Find(dd.Key, true)[0]).DisplayMember = "DisplayText";
((ComboBox)Controls.Find(dd.Key, true)[0]).ValueMember = "ID";
}
catch //(Exception ex)
{
//Code is not throwing any exception, just doesn't work
}
}
}
我敢肯定我错过了一些简单的事情。我感谢任何帮助或建议,以更优雅的方式来解决这个问题。
谢谢
@Steve的SelectCommand属性遗憾的是是一个错字,我试图简化代码对于这个问题 –