0
所以當我用在主窗口構造此方法的數據是否正確:組合框選項不改變,當數據源更新
public void Load_Dropdown(configuration con)
{
bindinglist = new BindingList<ListCollection.ListsList>(Get.ListCollection(con).List);
BindingSource bSource = new BindingSource {DataSource = bindinglist};
sharepointListSelect.DataSource = bSource;
sharepointListSelect.DisplayMember = "Title";
sharepointListSelect.ValueMember = "ID";
}
而且這工作得很好,但是當我嘗試調用類似的方法來更新在稍後的選項中,沒有任何反應,因爲在下拉列表中的選項不會改變。
我打電話來更新它看起來像這樣的方法:
public bool Reload_Dropdown(configuration con)
{
bindinglist = new BindingList<ListCollection.ListsList>(Get.ListCollection(con).List);
BindingSource bSource = new BindingSource { DataSource = bindinglist };
sharepointListSelect.DataSource = bSource;
sharepointListSelect.DisplayMember = "Title";
sharepointListSelect.ValueMember = "ID";
//There is other logic here, but i left it out as it isn't relevant
return true;
}
順便說一下,綁定列表的對象是在類初始化爲:
private BindingList<ListCollection.ListsList> bindinglist;
我知道,現在我可以重用第一種方法 - 但是我把聲明分開來調試爲什麼它首先失敗了更新。
考慮發佈[MCVE]。首先創建MCVE將幫助您找到並解決問題。如果您自己無法解決問題,那麼它將幫助其他用戶重現問題以幫助您。而不是一次又一次地創建'BindingSource'的不同實例,只需在設計時在表單上放置一個'BindingSource'並使用它。 –
我想出了問題所在。這是我的一個疏忽,我將回答描述我如何處理這個問題。 – Bitz