У меня практически такая же проблема, как эта:
C # Обновление комбинированного списка, привязанного к общему списку
Однако я пытаюсь изменить отображаемые строки; не добавлять, удалять или сортировать. Я пробовал решение BindingList, представленное в указанном вопросе, но оно не помогло.
Я вижу, что свойство DataSource комбинированного списка корректно обновляется при редактировании элементов, но содержимое, отображаемое в комбинированном ящике, отличается от свойства DataSource.
мой код выглядит следующим образом:
mSearchComboData = new List<SearchData>();
mSearchComboData.Add(new SearchData("", StringTable.PatientID));
mSearchComboData.Add(new SearchData("", StringTable.LastName));
mSearchComboData.Add(new SearchData("", StringTable.LastPhysician));
mSearchComboData.Add(new SearchData("", StringTable.LastExamDate));
mBindingList = new BindingList<SearchData>(mSearchComboData);
SearchComboBox.Items.Clear();
SearchComboBox.DataSource = mBindingList;
SearchComboBox.ValueMember = "Value";
SearchComboBox.DisplayMember = "Display";
...
Когда я пытаюсь обновить содержимое, я делаю следующее:
int idx = SearchComboBox.SelectedIndex;
mBindingList[idx].Display = value;
SearchComboBox.Refresh();
EDIT ::
RefreshItems, похоже, является закрытым методом. Я просто получаю сообщение об ошибке:
"'System.Windows.Forms.ListControl.RefreshItems ()' недоступен из-за уровня защиты"
ResetBindings не имеет никакого эффекта.