Наиболее интересные свойства LookUp’ов:
- PropertyToShow
- MasterViewName
- MasterTypeName
- ObjectTypeName
- ObjectViewName
Ниже они описываются подробно.
PropertyToShow
Отвечает за отображаемое свойство мастера после выбора лукапа.
Не работает при включеном AutoComplete.
Устанавливается в методе PostApplyToControls или PostLoad формы редактирования. Если установить в методах, срабатывающих раньше, то изменения перезапишутся WebBinder’ом.
Принимает составные свойства (свойства мастеров). К примеру, можно указать:
ctrlКлиент.PropertyToShow = "Прописка.Город";
Таким образом, при выборе мастера Клиент будет отображаться свойство Клиент.Прописка.Город.
MasterViewName
Устанавливает представление, которое будет использоваться на открываемой форме лукапа.
В отличии от PropertyToShow, может устанавливаться в любом месте и не зависит от AutoComplete.
MasterTypeName
Устанавливает тип объекта, который необходимо выбрать на LookUp. Актуально, когда мастеровой объект связан наследованием. То есть если есть два класса, связанных наследованием (класс A наследуется от класса B), и необходимо, чтобы на LookUp открывался класс А (а по умолчанию открывается класс B), то необходимо установить MasterTypeName следующим образом:
ctrlM1.MasterTypeName = typeof(M1).AssemblyQualifiedName;
не забыв при этом установить MasterViewName
MasterTypeName следует использовать typeof(Тип).AssemblyQualifiedName.Подробнее можно посмотреть в статье Проблема используемых типов (TypeUsage).
ObjectTypeName
Устанавливает тип объекта, для которого устанавливается мастер.
Аналогично MasterTypeName, актуально для случаев наследования, но на сей раз в наследовании участвует базовый объект, а не мастер. Устанавливается в паре с ObjectViewName.
ObjectViewName
Устанавливает представление базового объекта.
Аналогично MasterViewName, актуально для случаев наследования, но на сей раз в наследовании участвует базовый объект, а не мастер. Устанавливается в паре с ObjectTypeName.