Таким образом, данные загружаются должным образом, когда я использую этот метод в главном окне Конструктора:варианты COMBOBOX не меняется, когда источник данных обновляется
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;
}
Btw, связывание объекта списка инициализируется в классе, как:
private BindingList<ListCollection.ListsList> bindinglist;
Я знаю, сейчас я могу повторно использовать первый метод, но я разделил декларацию, чтобы отлаживать, почему она не выполняет обновление в первую очередь.
Рассмотрите возможность публикации [MCVE]. На первом этапе создание MCVE поможет вам найти и решить проблему. Если вы не можете решить проблему самостоятельно, это поможет другому пользователю воспроизвести проблему, чтобы помочь вам. Также вместо того, чтобы создавать разные экземпляры 'BindingSource' снова и снова, просто используйте drop the one' BindingSource' в своей форме во время разработки и используйте его. –
Я понял, в чем проблема. Это был контроль с моей стороны, и я дам ответ, чтобы описать, как я занимался этой проблемой. – Bitz