BaseTreeDictionaryListForm

Форма BaseTreeDictionaryListForm (из пространства имен Ultima.Client.Dictionaries) наследуется от BaseDictionaryListForm и является общим предком для всех списковых форм древовидных справочников:

DevBookmark_Scripts CommonForm

tree DevBookmark_Scripts BaseListForm

tree DevBookmark_Scripts BaseDictionaryListForm

tree DevBookmark_Scripts BaseTreeDictionaryListForm

Наиболее частая причина создания собственной списковой формы справочника – реализация master-detail интерфейса, также называемой фильтром. Поэтому в форме BaseTreeDictionaryListForm уже размещен унаследованный от BaseDictionaryListForm элемент управления SplitContainer, на правой панели которого расположен элемент управления DictionaryTreeViewPanel, предназначенный для представления списка записей древовидного справочника. Элемент содержит панель инструментов со всем стандартным функционалом – подбором колонок, фильтрами и т.д. Для использования прикладному разработчику доступна только левая панель, которая зарезервирована под размещение фильтра. Если оставить эту область пустой – она будет скрыта в итоговой форме:

Control_BaseTreeDictionaryListForm

Для реализации собственной списковой формы древовидного справочника необходимо унаследовать ее от формы BaseTreeDictionaryListForm и реализовать интерфейсы IRecordBrowser<T> и IRecordSelector<T>, где Т – тип справочника. Система для показа списка записей будет искать форму, реализующую интерфейс IRecordBrowser<T>, а для выбора записей форму, реализующую IRecordSelector<T>. Если в системе не окажется ни одной такой формы, откроется базовая списковая форма справочника. Если в системе окажется более одной такой формы, то система выдаст ошибку. Это позволяет избежать неочевидного поведения системы при ошибке настройки системы администратором.

DevBookmark_Scripts Класс формы BaseTreeDictionaryListForm реализует следующие методы и обладает следующими свойствами:

DictionaryType типа type – возвращает тип справочника;

SelectedID типа long – возвращает идентификатор выбранной в элементе управления DictionaryTreeViewPanel записи справочника;

SelectedList типа IDList – возвращает список идентификаторов выбранных в элементе управления DictionaryTreeViewPanel записей справочника;

LoadRecords() – загружает записи справочника в элемент управления DictionaryTreeViewPanel;

TreePanel типа DictionaryTreeViewPanel – возвращает элемент управления DictionaryTreeViewPanel. Через это свойство можно, например, задавать значения свойств DictionaryTreeViewPanel, настраивая внешний вид этого элемента управления.