Если я правильно понимаю ваш первоначальный вопрос, вы получите следующий сценарий:
Список контактов
- свяжитесь с А
- свяжитесь с B
- контакт C
Список вопросов
- выпуск A (поиск для контакта A)
- проблема B (поиск, чтобы связаться с B)
- выпуск C (поиск для контакта C)
Когда вы удаляете «контакт А» из списка контактов, проблема А не содержит нулевого значения (или пустое выделение в раскрывающемся списке), где «контакт А» был, даже если вы не редактировали » A "после удаления" contact A ".
Теперь это выглядит так:
Список контактов
- свяжитесь с B
- контакт C
Список вопросов
- выпуск A (поиск)
- проблема B (поиск, чтобы связаться с B)
- выпуск C (поиск для контакта C)
Предполагая, что это правильно. Вы описали поведение списков поиска по умолчанию в SharePoint. Раскрывающиеся списки создаются динамически при необходимости и сохраняют ссылку на исходный список в качестве значения>
Если бы вы запросили значение поля поиска в «выпуске А», вы бы получили что-то вроде «1 #; связаться с А» перед удалением и «ноль» после.
Вы не можете настроить это поведение с полем поиска по умолчанию.
Поле выбора может решить вашу проблему в зависимости от того, как часто контакты добавляются / удаляются и насколько велик список контактов.
Поле выбора - это просто текстовое поле с предопределенными параметрами для ввода. Вы можете использовать обработчики событий для обновления доступных вариантов для поля.
Альтернатива - создать собственное поле поиска (наследуя от значения по умолчанию). Добавьте строковое свойство в поле, которое при выборе копирует данные из поиска по умолчанию. Затем вы измените код рендеринга, чтобы отображать добавленное свойство при просмотре и измененный выпадающий список (отображать недоступные / удаленные значения) при создании / редактировании.
IMO, это большой недостаток поля поиска по умолчанию.