以下是使用 DataSource 填充组合框的代码
Dim CountryList As Array = MyCtrl.GetAllCountries
With cbCountyList
.DataSource = CountryList
.DisplayMember = "CountryName"
.ValueMember = "CountryID"
End With
Run Code Online (Sandbox Code Playgroud)
将新的国家名称添加到数据库后,我想反映组合框中的更改。重复此代码不是一种选择,因为它会触发 SelectIndexChange 事件,并且不得不做一些糟糕的工作来避免这种情况。
所以我想知道是否有办法刷新组合框列表。我实际上认为绑定 DataSource 属性应该自动完成。我也试过
cbCountyList.Refresh()
Run Code Online (Sandbox Code Playgroud)
提前致谢。
您应该BindingSource在 ComboBox 和您的数据源之间坐下。然后调用BindingSource.ResetBindings(false)。它会为你做所有的魔法。
这就是我的意思(在 C# 中,但同样的想法):
BindingSource b = new BindingSource();
b.DataSource = CountryList;
cbCountryList.DataSource = b;
...
...
b.ResetBindings(false); // cbCountryList now has the latest countries
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9060 次 |
| 最近记录: |