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