Я собираюсь использовать пример, в котором значения в раскрывающемся списке являются цветами, а в DataGridView есть список футболок в вашем шкафу.
Вы пытались вставить недопустимый цвет в объект списка, связанный со столбцом ComboBox? Возможно, вы можете вставить что-то в список, ключ которого соответствует вашему недопустимому цвету, но показывает «(недопустимый)» (или другой подобный текст). Вам нужно будет ответить на событие CellValidating, если кто-то попытается выбрать его после вашей первоначальной привязки.
Если неправильные цвета появляются в результате изменения поиска в другом месте приложения, так что значения DataGridView (футболки) больше не действительны, у вас есть несколько вариантов. Возможно, вы могли бы изменить эту логику, чтобы найти данные, которые поступают в список футболок, и посмотреть, есть ли какие-либо футболки с этим цветом - затем попросить пользователя сказать: «Вы отключили красный, но у вас есть Красные футболки; что ты хочешь делать? " Вы можете прекратить деактивацию Красного, поменять футболки или удалить футболки.
Если недопустимые цвета исходят из источника, который вы не контролируете, вы можете попросить пользователя, когда он попытается просмотреть список футболок: «Красный цвет больше не является допустимым цветом для футболок, что делать? мы делаем с красными футболками? "
У нас есть подобное ограничение в нашем приложении. Мы опустили поля со списком и вместо этого используем CellValidating.