因此,当我在主窗口构造函数中使用此方法时,数据已正确加载:
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;
我知道,现在我可以重用第一种方法 - 但是我将声明拆分为调试为什么它首先失败了。
答案 0 :(得分:0)
我很愚蠢 - 所以问题不在于任何一种方法,而是我如何调用该方法。如果方法不是静态的,则不能从另一个表单中调用该方法。我本人的巨大疏忽 - 我认为有点过于习惯于MVC。
只要您在同一方法中调用它,此解决方案就可以正常工作。我选择了一个按钮来刷新下拉列表。