Перейдите сюда http://msdn.microsoft.com/en-us/library/ms132679.aspx.
Это BindingList.Попробуйте поместить данные вашего комбинированного столбца в список связывания, а затем установите источник данных комбинированного столбца в список связывания.Когда вам нужно изменить то, что находится в выпадающем списке, вместо установки источника данных столбца для другого экземпляра bindingList, попробуйте очистить все элементы вашего исходного списка привязок и добавить новые один за другим.При возникновении события listChanged списка привязок список данных должен обновляться.
Это может быть довольно хлопотно, если список привязок содержит много элементов.Возможно, вы захотите создать новый класс, который наследует от связывания, и поместить его в него:
public void clearAndAddList(List<T> newData)
{
this.Clear();
this.RaiseListChangedEvents = false;
foreach (var item in newData)
this.Add(item);
this.RaiseListChangedEvents = true;
this.ResetBindings();
}
Это предотвращает запуск события listaged при каждом добавлении элемента.Кажется, что ResetBindings имеет тот же эффект, что и измененный список запуска.
Вероятно, есть лучшее решение этой проблемы, но это работало для меня в прошлом.