Элемент управления "CategoryListView"

Элемент CategoryListView предоставляет функциональность выбора категории из дерева категорий. Соответствует элементу управления Категории Конструктора разметок.

Элемент управления "CategoryListView"
Рисунок 1. Элемент управления "CategoryListView"

Для работы CategoryListView необходимо наличие в карточке, к которой привязан данный элемент управления, поля, ссылающегося на экземпляр карточки Список категорий, содержащей список категорий. В качестве примера можно рассмотреть часть класса карточки, у которой описана специальное поле:

private Guid mainSectionID = new Guid("783CD108-BA4A-432D-9C12-B32E0577D53C"); (1)

private string categoryListFieldName = "CategoryList"; (2)
private CategoryList cardCategoryList;

protected override void OnCardInitialized(EventArgs e) (3)
{
 base.OnCardInitialized(e); (4)
 InitializeComponent();

 SectionData mainSection = this.CardData.Sections[mainSectionID]; (5)
 RowData mainSectionRow = (mainSection.Rows.Count = 0) ? mainSection.CreateRow() : mainSection.Rows[0];
 Guid? cardCategoryID = mainSectionRow.GetGuid(categoryListFieldName);
 if (cardCategoryID.HasValue = false)
 {
  cardCategoryID = ObjectContext.GetService<UserSession>().CardManager.CreateCardData(new Guid("337CC874-BF87-4C70-A29B-F099F630B9F2")).Id;
  mainSectionRow.SetGuid(categoryListFieldName, cardCategoryID);
 }

 cardCategoryList = ObjectContext.GetObject<CategoryList>(cardCategoryID); (6)

 this.categoryListView.Initialize(ObjectContext, cardCategoryList); (7)
}
1 Идентификатор секции, содержащей ссылочное поле со ссылкой на карточку "Список категорий".
2 Псевдоним ссылочного поля, которое ссылается на карточку "Список категорий".
3 Инициализация карточки.
4 Начало инициализации — стандартное.
5 Далее, получение и при необходимости установка ссылки в ссылочном поле.
6 Получение карточки "Список категорий".
7 Инициализация CategoryListView.

Свойства

  • CategoryList — возвращает связанную карточку "Список категорий".

  • CategoryService — возвращает сервис ICategoryListService для работы со списками категорий.

  • Context — контекст объектов.

  • RootCategory — определяет корневую категорию, начиная с которой будет построено дерево категорий.

  • StatesOperations — предоставляет доступ к правам доступа на совершение типовых операций с CategoryListView.

Методы

  • Initialize(ObjectContext, CategoryList) — данный метод используется для передачи элементу управления контекста объектов и списка категорий карточки. Должен быть вызван на этапе инициализации карточки (см. пример выше).

  • Rebind() — выполняет перестроение дерева категорий.

  • RefreshData() — повторно загружает данные для списка категорий.

События

  • ListChanged — вызывается при любых изменениях (снятие/установка флажка на категории) в списке категорий.

  • CategoryChecked — вызывает при установке флажка на категории.

  • CategoryUnchecked — вызывает при снятии флажка с категории.

Первоначально срабатывает событие CategoryChecked/CategoryUnchecked, после чего срабатывает ListChanged.