logo

Пример использования компонента «Шаги»

Рассмотрим использование компонента Шаги, при помощи которого можно настроить форму создания юридического лица. Для этого выполните следующие действия.

  1. Создайте компонент Создать ЮЛ и на его форму вынесите компонент Шаги.

  2. Задайте четыре шага. Для каждого шага добавьте заголовок: «О юридическом лице», «Адреса», «Реквизиты», «Банковские счета». Для этого в элементе шага нажмите значок шестерёнки и в настройках на вкладке Основные заполните поле Заголовок.

  3. В конструкторе интерфейсов перейдите в раздел Свойства и создайте свойство Юридическое лицо. В качестве типа данных выберите Юридическое лицо.

  4. В компоненте Создать ЮЛ добавьте компонент Колонка и вынесите на него вложенные свойства юридического лица.

  5. Определите, как отображать содержимое элемента шага. Для этого выделите компонент Шаги и перейдите к его настройкам, нажав значок шестерёнки. В поле Действие при изменении добавьте сценарий SetStep. Когда пользователь переходит от одного шага к другому, на форме меняется набор свойств для юридического лица.
  6. Чтобы сохранить результат, в разделе Свойства создайте свойство CurrentStep типа Строка. В разделе Сценарии пропишите код, который будет возвращать в эту переменную выбранный пользователем шаг.

    public void SetStep (string arg) 
    {
         Context.CurrentStep = arg;
    }
  7. Определите, при каких условиях колонки отображаются или скрываются на форме. Для этого перейдите к настройкам компонента Колонка и в поле Скрыть создайте функцию. Добавьте функцию для каждой колонки, которая будет отображаться при переходе к определённому шагу.

  8. В настройках элемента шага перейдите на вкладку Системные и скопируйте уникальный идентификатор, чтобы использовать его в сценарии.
  9. В разделе Сценарии используйте следующий код.
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);
            }
        }
    }
}

На рисунке представлен готовый вариант формы для создания юридического лица.