Позвольте мне предисловие к этому, сказав, что я не очень много работаю с winforms, так что помилуй мое невежество. Связывание немного странно, исходя из ASP.Программно связать ComboBox (ы) по управляющему имени
Я пытаюсь перебрать ряд комбинированных ящиков и связать их с помощью словаря имен управления и соответствующей хранимой процедуры. Вот упрощенный пример того, что я пытаюсь сделать.
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 Жаль, что была опечатка, как я пытался упростить код для вопроса –