Имам метод, който попълва моя ComboBox
от DataTable
:
public string populateCompanyTransSellingEntityLookUp(ref System.Windows.Forms.ComboBox Combo, string Id, Contract Contract)
{
SqlCommand _comm = new SqlCommand();
_comm.Parameters.AddWithValue("@id", Id);
_comm.CommandText = "SELECT [name] FROM dbo.fnGetList(@id) ORDER BY [name]; ";
_comm.Connection = _conn;
_comm.CommandTimeout = _command_timeout;
DataTable dt = new DataTable();
try
{
SqlDataReader myReader = _comm.ExecuteReader();
dt.Load(myReader);
Combo.DataSource = dt;
Combo.DisplayMember = "name";
foreach (DataRow dr in dt.Rows)
{
if (dr["name"].ToString() == Contract.Company_Name.ToString())
{
Combo.Text = dr["company_int_name"].ToString();
}
}
}
catch
{
MessageBox.Show("Unable to populate Company Name LookUp");
}
return "";
}
Предавам запазената си стойност Contract.Company_Name
в цикъла forEach, за да намеря необходимия си SelectedItem
от DataTable
. ComboBox
се попълва с моите стойности на DataTable от Combo.Datasource =dt;
, но избраният от мен елемент не е зададен. Кодът се компилира без изключение. Ако премахна Datasource = dt;, the
SelectedItemis set no problem. Why is the
Datasourceoverriding my
SelectedItem` и има ли нещо, което съм пропуснал с моето обвързване?
Благодаря на всички