我有一个带有项目信息的DataTable,以及一个订购项目的表单。在订单表格上有一个显示项目名称的ComboBox:
void fillComboItem()
{
string constring = @"Data Source=|DataDirectory|\LWADataBase.sdf";
string Query = "select * from stockTBL; ";
SqlCeConnection conDataBase = new SqlCeConnection(constring);
SqlCeCommand cmdDataBase = new SqlCeCommand(Query, conDataBase);
SqlCeDataReader myReader;
try
{
conDataBase.Open();
myReader = cmdDataBase.ExecuteReader();
while (myReader.Read())
{
string sName = myReader.GetString(myReader.GetOrdinal("Item Name"));
comboItem.Items.Add(sName);
}
//displays a system error message if a problem is found
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
当我将数据插入DataTable时,它不会更新Order表单中的ComboBox,我必须重新启动应用程序才能进行更新。我怎样才能刷新" ComboBox?
答案 0 :(得分:0)
据我了解,您正在谈论在数据库更改时更新您的用户界面。 你不能通过显式调用你的数据绑定函数 - 在你的情况下fillComboItem - 当你想要更新组合时,比如,当用户打开你的网格或点击时。 或者,您可以ping数据库以获取更新,但这不是一种轻量级方法,应该谨慎使用。