Войти

Войти

 

Зависимое поле

Данная функция позволит фильтровать содержимое поля в зависимости от выбранного значения в другом поле

Рады представить новую функцию на сервисе QuintaDB.

Зависимое поле меняет свое содержимое после выбора определенного значения в другом поле, если между родительскими формами этих полей есть Связь

Рассмотрим пример создания и использования зависимых полей.

Задача создать форму заказа автомобилей, в которой модель авто и конфигурация будет меняться в зависимости от выбраной марки.

1. Создаем форму "Марки авто" с типом поля Радио кнопка с тремя марками автомобилей:

2. Заполняем форму таким образом, чтобы для каждой марки была отдельная запись:

3. Создаем следующую форму "Модели авто".

3.1. Необходимо создать поле с типом Связь

В этом примере связь с полем "Марка авто" из формы "Марки авто". Тип связи Многие-к-одному, Радио кнопка.

3.2. Второе поле с типом Радио кнопка со списком всех моделей.

4. Заполняем таблицу "Модели авто" таким образом, чтобы модель соответствовала марке авто.

Мы использовали тип связи Многие-к-одному т.к. у одной марки может быть несколько моделей. 

5. Создаем форму "Конфигурация".

  5.1. Добавляем в форму два поля с типом Связь. Первое связанно с полем "Марка авто" из формы "Марки авто". 

  5.2. Второе с полем "Список моделей" из формы "Модели авто". В обоих случаях Тип связи Многие-к-одному, Радио кнопка.

  5.3. Открываем редактирование поля "Модель".

 

После того как мы создали Связь между формами описаную в пункте 3.1, нам стала доступна функция Зависимое поле.

Другими словами, чтобы функция стала доступна для связанного поля в форме "В" нужно связать форму "В" с формой "А" и "Б", при этом между формами "А" и "Б" должна быть связь.

 

Устанавливаем флажок напротив опции Зависимое поле.

Из выпадающего списка выбираем поле "Марка авто", чтобы в зависимости от выбранного значения в этом поле, динамически загружались данные в поле "Модель".

6. Создаем третье поле с типом Радио кнопка "Вид топлива".

В итоге имеем следующую форму:

7. Добавляем записи в данную форму:

Как вы видите, нам удалось добиться результата, чтобы содержимое поля "Модель" менялось в зависимости от выбраной марки авто.

Так выглядит таблица с записями:

8. Теперь создадим форму заказа.

  8.1. Добавим поле "Имя покупателя", тип: Строка текста

  8.2. Форму "Заказ" необходимо связать со всеми предыдущими.

Второе поле - Связь с полем "Марка авто" из формы "Марки авто". Тип связи Многие-к-одному, Радио кнопка.

Третье - с полем "Список моделей" из формы "Модели авто". Тип связи Многие-к-одному, Радио кнопка.

Четвертое - с полем "Вид топлива" из формы "Конфигурация". Тип связи Многие-к-одному, Радио кнопка.

  8.3 Включаем опцию Зависимое поле. Поле "Модель" зависит от поля "Марка авто", а поле "Вид топлива" от поля "Модель".

В данном примере мы используем два зависимых поля, но их может быть гораздо больше. Главное - соблюдать приницип описанный выше: создавать отдельные связи с формами, которые связанны между собой.

9. Для удобства расположим три последних поля на одну строку.

(Из этой статьи вы можете узнать как это сделать).

10. Форма готова. Осталось проверить ее и добавить записи:

Таблица с записями:

Надеемся, что данная функция будет полезной для вас!


Пожалуйста, войдите в QuintaDB чтобы иметь возможность оставлять комментарии

Andriy Zhuravel

Супер! Спасибо будем тестировать!

Поделиться обсуждением в социальных сетях: