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

DevBookmark_Scripts CommonForm

tree DevBookmark_Scripts BaseListForm

tree DevBookmark_Scripts BaseDocumentListForm

tree DevBookmark_Scripts BaseFlatDocumentListForm

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

Control_BaseFlatDocumentListForm

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

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

DocumentType типа type – возвращает тип документа;

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

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

LoadRecords() – загружает документы в элемент управления DocumentGridViewPanel;

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