Форма BaseFlatDocumentListForm (из пространства имен Ultima.Client.Documents) наследуется от BaseDocumentListForm и является общим предком для всех списковых форм документов:
CommonForm
BaseListForm
BaseDocumentListForm
BaseFlatDocumentListForm
Наиболее частая причина создания собственной списковой формы документов – реализация master-detail интерфейса. Поэтому в форме BaseFlatDocumentListForm уже размещен унаследованный от BaseDocumentListForm элемент управления SplitContainer, на правой панели которого расположен элемент управления DocumentGridViewPanel, предназначенный для представления списка документов. Элемент содержит панель инструментов со всем стандартным функционалом – подбором колонок, фильтрами и т.д. Для использования прикладному разработчику доступна только левая панель, которая зарезервирована под размещение фильтра. Если оставить эту область пустой – она будет скрыта в итоговой форме:
Для реализации собственной списковой формы документов необходимо унаследовать ее от формы BaseFlatDocumentListForm и реализовать интерфейсы IRecordBrowser<T> и IRecordSelector<T>, где Т – тип документа. Система для показа списка документов будет искать форму, реализующую интерфейс IRecordBrowser<T>, а для выбора документов форму, реализующую IRecordSelector<T>. Если в системе не окажется ни одной такой формы, откроется базовая списковая форма документов. Если в системе окажется более одной такой формы, то система выдаст ошибку. Это позволяет избежать неочевидного поведения системы при ошибке настройки системы администратором. Процесс создания собственной списковой формы документов подробно описан в главе Списковые формы документов.
Класс формы BaseFlatDocumentListForm реализует следующие методы и обладает следующими свойствами:
•DocumentType типа type – возвращает тип документа;
•SelectedID типа long – возвращает идентификатор выбранного в элементе управления DocumentGridViewPanel документа;
•SelectedList типа IDList – возвращает список идентификаторов выбранных в элементе управления DocumentGridViewPanel документов;
•LoadRecords() – загружает документы в элемент управления DocumentGridViewPanel;
•GridPanel типа DocumentGridViewPanel – возвращает элемент управления DocumentGridViewPanel. Через это свойство можно, например, задавать значения свойств DocumentGridViewPanel, настраивая внешний вид этого элемента управления.