Добавление строк в коллекционные секции, с которыми связаны контролы
Добавление строк в коллекционные секции, с которыми связаны контролы¶
Пусть требуется из кода расширения CardUIExtension или TileExtension добавить строку в коллекционную секцию, причём на форме карточки уже существуют контролы, которые отображают строки этой секции (например, ссылочный список или таблица). Такую строку следует добавлять командами в строго определённом порядке, чтобы контролы правильно отреагировали.
-
Добавляем строку методом Add() без параметров.
-
Устанавливаем RowID и прочие поля.
-
В самом конце устанавливаем State = CardRowState.Inserted.
CardRow deputy = card.Sections["RoleDeputies"].Rows.Add();
deputy.RowID = Guid.NewGuid(); // уникальный идентификатор строки в коллекционной секции
deputy["DeputyID"] = new Guid("...");
deputy["DeputyName"] = "Петров П.П.";
// именно в момент установки State генерируется событие, которое перехватывают контролы и визуально отображают строку
// к этому моменту все остальные поля уже заполнены
deputy.State = CardRowState.Inserted;