2016-12-28 2 views
0

Таким образом, данные загружаются должным образом, когда я использую этот метод в главном окне Конструктора:варианты 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; 

Я знаю, сейчас я могу повторно использовать первый метод, но я разделил декларацию, чтобы отлаживать, почему она не выполняет обновление в первую очередь.

+0

Рассмотрите возможность публикации [MCVE]. На первом этапе создание MCVE поможет вам найти и решить проблему. Если вы не можете решить проблему самостоятельно, это поможет другому пользователю воспроизвести проблему, чтобы помочь вам. Также вместо того, чтобы создавать разные экземпляры 'BindingSource' снова и снова, просто используйте drop the one' BindingSource' в своей форме во время разработки и используйте его. –

+0

Я понял, в чем проблема. Это был контроль с моей стороны, и я дам ответ, чтобы описать, как я занимался этой проблемой. – Bitz

ответ

0

Я глуп. Так что проблема не в том, ни с каким методом, но как я называл метод. Вы не можете вызвать метод из другой формы, если он не является статичным. Огромный надзор с моей стороны - слишком привык к MVC, я полагаю.

Это решение будет работать нормально, если вы его вызываете одним и тем же методом. Я выбрал только кнопку, которая обновит раскрывающееся меню.

Смежные вопросы