我有一个Telerik RadDropDownList
来显示database
中来自后台更新的表中的城市。我希望每当数据库更新时刷新RadDropDownList
,但我找不到任何有用的东西。
我的代码在这里:
private void radDropDownList3_KeyUp(object sender, KeyEventArgs e)
{
_result = radDropDownList3.DropDownListElement.Text;
bool any = radDropDownList3.DropDownListElement.Items.Any(item => item.Text == _result.Trim());
if (e.KeyCode == Keys.Enter && !any)
{
try
{
string city = ArToFa(_result);
using (var bas = new SaleToFreightageEntities())
{
bas.Tariff.Add(new Tariff { City = city });
bas.SaveChanges();
}
MessageBox.Show(@"item added.");
tariffBindingSource.ResetBindings(true);
radDropDownList3.Rebind();
radDropDownList3.Refresh();
radDropDownList2.Enabled = false;
_result = "";
}
catch (Exception ex)
{
if (ex.GetBaseException().Message.Contains("Cannot insert duplicate key row"))
MessageBox.Show(@"duplicated item!", @"", MessageBoxButtons.OK,
MessageBoxIcon.Stop, MessageBoxDefaultButton.Button1, MessageBoxOptions.RightAlign);
_result = "";
}
}
}
答案 0 :(得分:1)
在插入数据库后,您必须动态地在RadDropDownList
中插入此输入的文本。您可以将RadListDataItem
添加到RadDropDownList
。
使用此代码来实现此目的。此项目将添加到您的控件中,因此您不需要重新绑定它,只有在您确定该位置已添加到db时才添加它。
RadListDataItem dataItem = new RadListDataItem();
dataItem.Text = "enteredText";
this.yourDropDownList.Items.Add(dataItem);
此外,您可以通过在更新db方法之后调用来解决您的问题,该方法再次获取数据源并将其放入下拉列表。
答案 1 :(得分:-1)
如果在计时器上刷新,必须使字段bcoz可能无法选择数据并且都想要刷新。 如果你有问题告诉我