<< Click to Display Table of Contents >> Объектная модель > Основные механизмы > StateView, StateBlock, StateBlockContent – контрол состояния > StateBlock – блок контрола состояния AddChildBlock – добавить дочерний блок |
Метод используется для добавления в контрол состояния блока, дочернего к текущему:
Перегрузки
AddChildBlock() |
Добавить в контрол состояния пустой дочерний блок |
AddChildBlock(StateBlock block) |
Добавить в контрол состояния готовый дочерний блок, например с заполненными свойствами. Метод может использоваться, когда в контрол состояния нужно добавить два одинаковых дочерних блока |
Синтаксис
C# |
public StateBlock AddChildBlock(); public StateBlock AddChildBlock(StateBlock block); |
Параметры
block – дочерний блок, который нужно добавить в контрол состояния.
Возвращаемое значение
Добавленный блок.
Пример. Добавление дочерних блоков для отображения заданий на ознакомление
/// <summary>
/// Добавить в контрол состояния отображение заданий на ознакомление.
/// </summary>
/// <param name="taskBlock">Блок задачи.</param>
/// <param name="assignments">Выполненные задания на ознакомление.</param>
/// <param name="isElectronicAcquaintance">Признак электронного ознакомления.</param>
public void AddSelfCompletedAssignmentsBlocks(Sungero.Core.StateBlock taskBlock,
List<IAcquaintanceAssignment> assignments)
{
// Найти все задания на ознакомление с документом.
if (!assignments.Any())
return;
// Добавить дочерний блок для отображения заданий на ознакомление.
var parentBlock = taskBlock.AddChildBlock();
// Включить дочерний блок в группу блоков.
parentBlock.NeedGroupChildren = true;
// Добавить для блока изображение.
parentBlock.AssignIcon(Docflow.ApprovalTasks.Resources.Completed, StateBlockIconSize.Large);
// Добавить заголовок блока.
var headerStyle = Docflow.PublicFunctions.Module.CreateHeaderStyle(false);
parentBlock.AddLabel(AcquaintanceTasks.Resources.StateViewAsquaintance, headerStyle);
parentBlock.AddLineBreak();
// Указать исполнителей заданий.
var performers = assignments.Select(a => Sungero.Company.Employees.As(a.Performer)).ToList();
var performersLabel = Docflow.PublicFunctions.OfficialDocument.GetPerformersInText(performers);
parentBlock.AddLabel(performersLabel, Docflow.PublicFunctions.Module.CreatePerformerDeadlineStyle());
// Отобразить статус заданий.
var status = AcquaintanceTasks.Resources.StateViewAcquainted;
Docflow.PublicFunctions.Module.AddInfoToRightContent(parentBlock, status);
// Добавить в блок задания на ознакомление.
foreach (var assignment in assignments)
this.AddAssignmentBlock(parentBlock, assignment, StateBlockIconSize.Small, string.Empty);
}
© Компания Directum, 2024 |