Пример использования компонента «Шаги»
Рассмотрим использование компонента Шаги, при помощи которого можно настроить форму создания юридического лица. Для этого выполните следующие действия.
-
Создайте компонент Создать ЮЛ и на его форму вынесите компонент Шаги.
-
Задайте четыре шага. Для каждого шага добавьте заголовок: «О юридическом лице», «Адреса», «Реквизиты», «Банковские счета». Для этого в элементе шага нажмите значок шестерёнки и в настройках на вкладке Основные заполните поле Заголовок.
-
В конструкторе интерфейсов перейдите в раздел Свойства и создайте свойство Юридическое лицо. В качестве типа данных выберите Юридическое лицо.
-
В компоненте Создать ЮЛ добавьте компонент Колонка и вынесите на него вложенные свойства юридического лица.
- Определите, как отображать содержимое элемента шага. Для этого выделите компонент Шаги и перейдите к его настройкам, нажав значок шестерёнки. В поле Действие при изменении добавьте сценарий SetStep. Когда пользователь переходит от одного шага к другому, на форме меняется набор свойств для юридического лица.
-
Чтобы сохранить результат, в разделе Свойства создайте свойство CurrentStep типа Строка. В разделе Сценарии пропишите код, который будет возвращать в эту переменную выбранный пользователем шаг.
public void SetStep (string arg) { Context.CurrentStep = arg; }
-
Определите, при каких условиях колонки отображаются или скрываются на форме. Для этого перейдите к настройкам компонента Колонка и в поле Скрыть создайте функцию. Добавьте функцию для каждой колонки, которая будет отображаться при переходе к определённому шагу.
- В настройках элемента шага перейдите на вкладку Системные и скопируйте уникальный идентификатор, чтобы использовать его в сценарии.
- В разделе Сценарии используйте следующий код.
partial class CreateLegal
{
const string StepOne = "105ddb68-02d0-4bc4-83d9-ec304ce3165c";
const string StepTwo = "da8f3da9-7d8a-4d9d-8628-6ed4cab4334c";
const string StepThree = "255c1007-ba61-42c8-9b46-ac9f760d6fc1";
const string StepFour = "d4d9b5fd-fece-4262-b2ed-44a2b1a023fa";
partial class ComponentController
{
public void GetStep(string arg)
{
Context.CurrentStep = arg;
}
public bool Step1()
{
return !String.IsNullOrWhiteSpace(Context.CurrentStep) && !Context.CurrentStep.Contains(StepOne);
}
public bool Step2()
{
return !Context.CurrentStep.Contains(StepTwo);
}
public bool Step3()
{
return !Context.CurrentStep.Contains(StepThree);
}
public bool Step4()
{
return !Context.CurrentStep.Contains(StepFour);
}
}
}
}
На рисунке представлен готовый вариант формы для создания юридического лица.