Формы. Как сделать зависимые поля в форме (Страна, Город)
Т.е. при обновлении одного поля, необходимо, чтобы другое также меняло свое состояние.
- Ставим у колонки поле Зависимые поля (dependentCols) списком через запятую (указываем те поля, которые должны обновляться при изменении данного поля).
- В процедуре Источника будет необязательный параметр @fields DictionaryParameter, который передает текущее состоние формы (он должен быть необязательный как в примере). ВАЖНО! Он используется только в зависимых столбцах. В обычных элементов с выбором из списка не нужно его указывать.
Ведущий запрос (Страны). fields можно здесь не использовать в параметрах (если использовать то по умолчанию ‘’).
CREATE PROCEDURE [dbo].[fm_user_country_dict]
@username nvarchar(256)
@itemID int
AS
BEGIN
select 'Не выбрано' Text, 0 Value, 0 Selected
union
select name Text, id Value, 0 Selected from as_geo_regions where typeID = 1
order by Text
END
Ведомый запрос (города). Важно соблюсти все нюансы использования fields+ искать и по id и по name через or как в примере.
CREATE PROCEDURE [dbo].[fm_user_country_dict]
@username nvarchar(256)
@itemID int
@fields DictionaryParameter READONLY
AS
BEGIN
declare @country nvarchar(128)
select @country = Value from @fields where [key] = 'country'
exec dbo.as_print @str = @country
select 'Не выбрано' Text, 0 Value, 0 Selected
union
select name Text, id Value, 0 Selected from as_geo_regions where typeID = and
(cast(parentID as nvarchar) = @country or isnull(@country, '') = '' or parentID in (select id from as_geo_regions where name = @country))
order by Text
END
- Разметка в форме любая, можно использовать например такую:
<label>Страна / город </label> {colcontrol-country} {colcontrol-city}
- В процедуре GetItem устанавливайте значения для обоих полей.
isnull((select name from as_geo_regions
where id = (select parentID from as_geo_regions where id = regionID)), 'Не указан') country,
isnull((select name from as_geo_regions
where id = regionID), 'Не указан') city
- В итоге поля будут работать как зависимые.
Примечание:
Зависимые столбцы работают не только для списковых элементов, но и для полей типа text и др.
Для этого указываем также зависимые поля и устанавливаем не для спискового значения хранимку значений, которая должна возвращать 1 строку с Text и Value:
- Text - устанавливает значение элемента.
- Value - если 0, то прячет элемент.
Пример:
CREATE PROCEDURE [dbo].[fm_user_email_dict]
@username nvarchar(256),
@itemID nvarchar(128),
@fields DictionaryParameter READONLY --- если нужно сделать зависимые столбцы (в
коллекции передаются состояние всех столбцов)
AS
BEGIN
DECLARE @skype nvarchar(128)
SELECT @skype = Value FROM @fields WHERE [Key] = 'skype'
if(@skype<>'')BEGIN
SELECT 'Есть скайп' Text, 1 Value, 0 Selected
END else BEGIN
SELECT '' Text, 0 Value, 0 Selected
END
END
ВАЖНО. Скрытие видимости не будет действовать для списковых полей!
Примечание:
Для поля типа select-search не будет работать как зависимое дочернее поле, но при этом может быть родительским полем.
Поля chosen и chosenMultiple могут быть как зависимые поля (как родительским, так и дочерним элементом).
Примеры работы компонентов платформы Falcon Space
Примеры удобных таблиц и форм Примеры дашборда Примеры графиков и диаграмм Пример календаря Таблица с данными по API Пример вывода карты с точками Виды полей форм Пример виджета статистики Пример дерева иерархии Пример компонента Временная линия Пример карточки товаров Пример учета загрузки ресурса Пример Канбан доски Пример мастер формы Пример выгрузки документов Excel/Word Пример заполнения данных по ИНН- Руководства
- Основа Falcon Space
- Основные компоненты
- Возможности Falcon Space
- Подсистемы
- Дополнительные компоненты
- Интеграции
- HOWTO
- HOWTO Таблицы
- HOWTO Формы Формы. Как принимать в форму не 1 параметр(itemID), а несколько входящих параметров? Формы. Как создать форму для редактирования сущности Формы. Как сделать кастомную HTML разметку для формы (jsRender) Формы. Как сделать поиск для поля, т.е. список с поиском через обращение к БД (autocomplete. search-select) Формы. Как установить некоторые поля в форме по умолчанию при загрузке Формы. Как выводить разные данные на одной форме для разных ролей Формы. Как в форме вывести список галочек (множественный выбор поля) Формы. Как выводить и сохранять множественный список через chosen поле. Формы. Как перезагрузить страницу после сохранения Формы. Как добавить коллбек после загрузки формы и после сохранения формы. Формы. Как динамически изменять тип колонки при рендеринге формы. Формы. Как сделать модальную форму (открывается в диалоговом окне) Формы. Как обновить таблицу (или форму) после вызова модальной формы Формы. Как вывести форму во всплывающем окне рядом с кнопкой (popover) Формы. Как добавить новый элемент, если в списке на форме его нет. Формы. Как сделать зависимые поля в форме (Страна, Город) Формы. Как сделать выбор адреса и сохранение координат места (lat,lng). Формы. Как правильно обрабатывать цены (дробные числа) на форме Формы. Как вывести списковые данные или таблицу внутри формы Формы. Установка фоновой панели для формы Формы. Как передать в форму скрытый параметр Формы. Как сделать списки select и chosen с категориями (optgroup) Формы. Как сделать форму в виде мастера шагов Формы. Как показывать на форме прогресс заполнения (прогрессбар заполнения формы) Формы. Как использовать Флажки и выбор радио с картинкой Формы. Как сделать поля с анимацией значений (крутящиеся числа, цифры). Формы. Как редактировать текст элементов HTML в Rich-редакторе Формы. Как вывести в модальном окне таблицу Формы. Как использовать в форме поле Выбор файлов Формы. Как скрывать/показывать обновлять область на странице при изменении поля формы Формы. Как работать с полем Таймер Формы. Как в форму в SaveItem передать некий скрытый параметр (например Куки или параметр URL) Формы. Как показывать изменяющуюся информацию при изменении полей Формы. Как сделать форму с сохранением состояния Формы. Как работать с полем типа Слайдер (ползунок) Формы. Как выводить и обрабатывать данные на форме из внешнего источника через API Формы. Добавление кнопки очистки формы (Reset form) Формы. Как сделать подтверждение действие в СМС (SMS) в форме Установка графика работы (поле формы weekTime) Формы. Как сделать в форме более 1 кнопки действий Как в форме добавить примеры заполнения полей (example) Формы. Управление настройками поля через options_ поля Формы. Использование Google Recaptcha в формах Как указать произвольную маску для поля ввода в форме Форма. Как вывести дерево с выбором галочек Формы. Как сделать выбор цвета в форме Как в выборе даты (datepicker) задать доступные даты
- HOWTO JS
- HOWTO CSS
- HOWTO Верстка
- Решение проблем
Платформа Falcon Space
Это снижение стоимости владения
за счет меньшего количества людей для поддержки
Это быстрое внесение изменений
по ходу эксплуатации программы
Это современный интерфейс
полная адаптация под мобильные устройства
Бесплатное обучение разработке на Falcon Space
