Evolcom.ru

Бытовая техника
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Как показать первый элемент в выпадающем списке вместо пустого?

Работа с полем выбора

Элемент управления «Checkbox» предназначен для хранения и быстрого выбора одного из значений из своего контрольного списка. Контрольный список для флажка — это список значений. Значение флажка — это отдельное значение, а не весь контрольный список.

Установка значения в поле выбора

В поле выбора можно установить любое значение. При установке значения оно будет искаться среди значений в списке выбора. Если задаваемое значение не найдено в списке выбора, поле выбора принимает значение «Undefined». Единственным исключением является значение «Неопределено», которое может быть установлено в поле выбора в любом случае, независимо от того, какие значения одновременно хранятся в списке выбора.

Если список выбора содержит числа 1, 2 и 3 в качестве значений, то в поле выбора можно будет установить любое из этих чисел. Другие значения не будут сохранены, даже если не возникнет ошибок во время выполнения.

Представление значения, хранящегося в поле выбора

Представление значения, хранящегося в чекбоксе, используется как представление элемента контрольного списка, значение которого соответствует значению чекбокса. Если у элемента контрольного списка нет представления, оно создается как текстовое представление самого значения. В ситуации, когда в контрольном перечне имеется несколько одинаковых значений с разными представлениями, используется первое из найденных значений. Представление значений будет сформировано из значений, как описано выше.

Поиск значения в поле выбора по введенному тексту

Текстовый поиск значений осуществляется на основе представлений элементов в списке выбора. Для тех элементов, где представление значения не указано, используется представление значения, хранящееся в самом значении.

Связь поля выбора с данными

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

Особенности инициализации и использования списка выбора

Чтобы поле выбора отображало связанные данные, список выбора должен быть создан в теле формы. Создание списка выбора в обработчике формы для любого из событий формы — это слишком поздно. Поле выбора будет установлено в значение «Неопределено», несмотря на то, что реквизит может иметь любое значение.

Это происходит потому, что данные указываются в элементах управления формы, связанных с формой при ее создании. Однако обработчики событий BeforeOpen() и WhenOpen() вызываются после создания самой формы, во время инициализации ее визуальной части. Оказалось, что при создании формы флажку было присвоено значение, когда его контрольный список пуст. В этом случае флажок будет хранить значение «Undefined» вместо значения, которое будет установлено, когда контрольный список пуст.

При изменении типа значения (свойство «Тип значения») списка выбора с элементами, его значения преобразуются к новому типу. Может возникнуть следующая ситуация: после изменения типа значения списка выбора определенное значение, которое ранее было успешно установлено в поле выбора, не может быть установлено после изменения типа значения. Причина в том, что в процессе определения типа значения для списка выбора значение, которое было успешно определено, стало другим значением (в соответствии с новым типом значения). В результате определяемое значение больше не будет находиться в списке выбора.

Использование поля выбора: пример 1

Предположим, что форма имеет поле ввода (Input field1), поле выбора (Choice field1) и созданный реквизит (Requisite1: number, length = 10, precision = 0). В качестве данных для редактирования в полях Input1 и Choice1 используется реквизит Requisite1. Ниже приведен код модуля формы:

Открыв такую форму в Enterprise, вы можете увидеть, как устанавливаются значения в чекбоксах:

1. В начальном состоянии поле выбора пустое, а поле ввода содержит значение 0.

Читайте так же:
Как посчитать разницу между буквами в Excel?

Выберите в поле выбора строку под названием «Один» из выпадающего списка: в поле ввода будет помещено значение 1. Поскольку поля ввода и выбора связаны с одним и тем же реквизитом формы, при изменении значения в поле ввода оно устанавливается в поле выбора и наоборот. В данном случае в поле выбора была выбрана строка «Один», значение которой равно 1. Вот что появляется в поле ввода.

3. В раскрывающемся списке выберите строку с надписью «Два»: 2 будет введено в поле ввода.

Перейдите к полю ввода и попробуйте изменить значения в нем:

1. Введем 3 в поле ввода и выйдем из этого поля. В поле выбора записывается значение 3 и устанавливается в соответствующую строку списка выбора («Три»).

2. Вернемся к полю ввода и введем там 4. Теперь мы перейдем к следующему элементу управления. Значение «4», введенное в поле ввода, будет сохранено, а поле выбора станет пустым. Когда значение «4» будет введено в поле ввода, оно будет сохранено в связанном с ним поле данных, а затем отображено из него в поле выбора диапазона. Поскольку поле выбора в списке выбора не имеет значения 4, оно не будет установлено в поле выбора.

Использование поля выбора: пример 2

Предположим, имеется форма с полем выбора (поле Choice1), полем ввода (поле Input1) и созданным требованием (Requirement1: Reference.Bill of Materials). Requirement1 используется в качестве данных для редактирования в полях Input1 и Choice1. Следующий код написан в теле модуля формы:

Открыв форму этого типа в 1С:Предприятии, вы можете увидеть, как будут определяться значения в поле выбора:

1. При первой загрузке страницы поля выбора и ввода пустые:

2. Выберите из выпадающего списка строку, отмеченную в поле выбора символом «Один»: значение помещается в поле ввода. Поскольку поле ввода данных и поле выбора связаны с одним и тем же элементом формы, при изменении значения в поле ввода данных оно помещается в поле выбора, и наоборот. В данном случае в поле выбора выбрана строка «Один», значение которой равно ссылке на ссылку на ссылку на ссылку на ссылку на ссылку на ссылку на ссылку на ссылку на ссылку на ссылку на запись каталога Справочник.Номенклатура.Элемент1. Это отображается в поле ввода.

3. В поле выбора в выпадающем списке выберите строку с надписью «Два»: ссылка на элемент справочника Справочник. Номенклатура. Использование элемента2 в качестве входа:

Попробуйте редактировать значения в поле ввода:

1. Выберем значение Справочники. Номенклатура. Элемент1 в поле ввода. В поле выбора отобразится значение Справочники. Номенклатура. Элемент1 будет записано и установлено значение поля выбора («Один») из соответствующего ему списка выбора.

2. Выберем значение для Справочники. Номенклатура. Элемент2 в поле ввода. В поле выбора должно быть установлено значение Справочники. Номенклатура. Элемент2 будет записано и установлено значение из соответствующей строки списка выбора поля выбора («Два»).

3. В поле ввода выберем значение Справочники. Номенклатура. Элемент3. Справочники — это значение в поле выбора. Номенклатура. Элемент3 не будет записан, так как он не указан в списке выбора. В поле ввода будет отображено «Не определено»:

Использование поля выбора: пример 3

Предположим, существует внешняя обработка, в которой создается prop1 типа DirectorySlink.Nomenclature. Внешняя обработка имеет две формы: первая форма устанавливает значение запроса, а вторая форма открывается при нажатии на кнопку.

В левой колонке — появление первой формы внешней обработки. При нажатии кнопки «Открыть форму» значение берется из поля ввода и сохраняется в реквизите внешней обработки, после чего открывается вторая форма:

В правой колонке находится внешний вид второй формы внешней обработки. Она содержит поле выбора и поле ввода; оба они связаны с реквизитом данных внешней обработки Requisite1. Ниже приведен текст для модуля формы:

Читайте так же:
Как посчитать / суммировать ячейки по цветам с условным форматированием в Excel?

Понятно, что в модуле формы инициализируется список выбора для поля выбора: Поле выбора может принимать значения Справочник. Номенклатура. Элемент1, Справочник. Номенклатура. Элемент2, Неопределено. При этом для первых двух значений явно указываются их представления — «Один» и «Два».

Давайте посмотрим, как будет выглядеть вторая форма, основанная на значении, ранее сохраненном во внешнем рабочем требовании Requirement1.

Значение реквизита — пустая ссылка:

В этом случае значением в поле ввода будет пустая ссылка на запись справочника, а в поле выбора значение будет Неопределено. Поскольку в пиклисте для поля выбора нет пустой ссылки на запись справочника в значениях, его нельзя определить — когда значение определяется как пустая ссылка, поле выбора устанавливается в значение Неопределено.

Значение реквизита — одно из значений, имеющихся в списке выбора для поля выбора:

В результате и поле ввода, и поле выбора будут заполнены ссылками на Item1, который появляется в справочнике. Поле выбора будет использовать значение из списка выбора — строку «One» для представления значения.

Значение реквизита в списке выбора для поля выбора отсутствует:

Операционная система попытается установить значение справочника Элемент3 в поле ввода и поле выбора открытой формы. В поле ввода такое значение будет установлено нормально, но в поле выбора после его установки значение останется Неопределенным, так как ссылка на справочник Элемент3 не включена в значения из списка выбора.

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

Тег в HTML коде

Ниже перечислены четыре основных варианта выпадающих элементов HTML.

Простой HTML выпадающий список

HTML код простого выпадающего списка

Выпадающий список с выбором нескольких значений

Вы можете добавить в список множественный выбор (одновременный выбор нескольких значений) с помощью атрибута multiple. Количество элементов в списке множественного выбора, которые могут отображаться одновременно, можно настроить с помощью атрибута size.

Атрибут name такого списка должен оканчиваться на «[]», например, name=»cars[]».

HTML код выпадающего списка с выбором нескольких значений

Раскрывающийся список с группами пунктов

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

HTML код раскрывающегося списка с группами пунктов

HTML список обязательный для заполнения (выбора)

Чтобы создать требуемый список (список, в котором пользователь должен выбрать значение), используйте атрибут required и добавьте первый элемент внутри списка

HTML код выпадающего списка обязательного для выбора (заполнения)

Поддержка браузерами

Тег
<select>ДаДаДаДаДа

Атрибуты тега select

Логический атрибут. Если он указан, то при загрузке документа фокус будет перенесен на список.

Логический атрибут. Если указано, делает список неактивным.

Данные в списке, помеченные этим атрибутом, не будут отправлены на сервер при отправке формы. Этот атрибут также лишает пользователя возможности изменять состояние списка (например, изменять выбранный элемент).

Указывает форму, к которой принадлежит список. Используется, если список находится за пределами HTML-кода формы.

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

Логический атрибут. Позволяет осуществлять множественный выбор. Если указано, то вместо выпадающего списка отображается список с множественным выбором. Количество элементов, доступных без прокрутки, контролируется атрибутом size.

Имя списка. При отправке данных формы на сервер. Значение списка будет передано в переменную, имеющую имя, указанное в этом атрибуте.

Булевский атрибут. Если указано, список определяется как обязательный (обязательный для выбора). Форма не будет отправлена на сервер, если в таком списке не выбрано ни одно значение.

Завершение контролируется браузером. Если вы пытаетесь отправить форму с неполным списком необходимых элементов, браузеры обычно отображают ошибку завершения.

Одновременно может отображаться не более шести элементов списка. Значение по умолчанию для выпадающего списка — 1.

Если значение больше 1, вместо этого отображается выпадающий список.

Как показать первый элемент в выпадающем списке вместо пустого?

Выпадающий список шаблона формы Microsoft Office InfoPath можно использовать для отображения списка взаимоисключающих значений. Список скрыт до тех пор, пока пользователь не нажмет на стрелку вправо.

В этой статье

Использование раскрывающегося списка

При необходимости используйте выпадающий список:

Позволяет пользователям выбрать элемент из списка предопределенных вариантов;

Чтобы скрыть значения списка в форме по умолчанию;

Отображение значений из фиксированного списка, источника данных шаблона формы или внешнего источника данных, например базы данных или списка Microsoft Windows SharePoint Services.

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

Выбор значения должен быть указан в шаблоне формы после вставки выпадающего списка. Когда пользователи нажимают на выпадающий список, появляется пустой список. Диалоговое окно Свойства выпадающего списка позволяет ввести записи или настроить выпадающий список на получение записей из базы данных.

Связанные элементы управления

InfoPath включает элементы управления, которые похожи на выпадающие списки, но предназначены для другой цели. Чтобы определить, какой элемент управления лучше всего подходит для шаблона вашей формы, см. следующий список:

Список. Функциональность обычного списка аналогична функциональности выпадающего списка. Однако, в отличие от выпадающего списка, он отображает весь список на форме. Если место в шаблоне формы не ограничено, лучше использовать список, чтобы облегчить пользователям поиск и выбор элементов.

Поле со списком. Как и в случае с выпадающим меню, поле со списком также позволяет пользователю выбирать значения. Список скрыт до тех пор, пока пользователь не решит его отобразить. Пользователи могут вводить свои собственные значения в поле со списком, а не просто выбирать готовые значения.

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

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

Взаимодействие с пользователем

Выпадающие списки выглядят как поля списков. Если вы вручную вводите пользовательские элементы списка в диалоговом окне Свойства выпадающего списка при создании выпадающего списка, InfoPath отображает текст Выбрать как элемент списка по умолчанию в списке. Это позволяет пользователю сделать выбор из выпадающего списка. Если элементы списка берутся из значений в форме или из дополнительного источника данных, текст Select опускается.

При первом открытии формы элементы выпадающего списка скрыты. Чтобы выбрать элемент из списка, пользователи нажимают на стрелку справа от выпадающего списка, а затем на нужный элемент.

Вставка раскрывающегося списка

Шаги для вставки выпадающего списка немного отличаются в зависимости от того, разрабатываете ли вы шаблон формы с нуля или используете в качестве основы базу данных или другой внешний источник данных.

Затем отобразится выпадающий список, выбранный в режиме производителя.

Элементы управления могут быть связаны или развязаны. Когда элемент управления привязан, он подключается к полю или группе в источнике данных, так что данные, введенные в элемент управления, сохраняются в XML-файле самой формы. Когда элемент управления не привязан, он не связан с полем или группой, поэтому введенные в него данные не сохраняются. Если выбрать или навести курсор мыши на элемент управления, в правом верхнем углу элемента появится текст и значок настройки. Текст указывает на группу источника данных или поле, которому назначен элемент управления. Значок показывает, правильно ли назначен элемент управления полю или группе. Если назначение правильное, появится зеленый значок. Если возникла проблема с привязкой, вы увидите синий или красный значок.

Шаблоны форм имеют источник данных, который содержит поля и группы в иерархическом представлении в источнике данных области задач. Выпадающие списки полей всегда связаны с полями. В приведенном ниже примере выпадающий список для категории сопоставлен с полем для категории в области задач источника данных.

В области задач Controls при создании пустого шаблона формы по умолчанию установлен флажок Auto create data source. Это позволяет InfoPath автоматически создавать поля и группы в источнике данных по мере добавления элементов управления в шаблон формы. В области задач «Источник данных» эти поля и группы представлены значками папок и файлов.

Если структура шаблона формы основана на существующем XML-файле, базе данных или веб-службе, InfoPath наследует поля и группы в области задач «Источник данных» от существующего источника данных.

Вставка раскрывающегося списка

Перетащите курсор в место вставки элемента управления.

Если область задач Controls не появляется, выберите Other Controls в меню Insert или нажмите ALT+I, C.

В области Controls выполните следующие действия:

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

Чтобы связать список с существующим полем, отмените выбор Автоматическое создание источника данных.

Обратите внимание: если флажок недоступен, источник данных заблокирован. Например, если вы создали структуру шаблона формы на основе XML-схемы, вы не сможете добавить новые поля или группы в источник данных через InfoPath. В результате случайные изменения схемы будут предотвращены.

В разделе Элементы управления вставкой щелкните выпадающий список.

Если вы сняли флажок Автоматически создавать источник данных в шаге 3, выберите поле, к которому вы хотите привязать список в диалоге привязки, из выпадающего списка.

Если вы хотите добавить метку к элементу управления, введите текст в верхней или левой части элемента управления, после чего поставьте двоеточие (:).

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

Откройте закладку Данные.

Выполните одно из следующих действий, чтобы завершить список

Ввод значений списка вручную

Этот вариант полезен, если у вас есть ограниченный набор значений, которые, как ожидается, не претерпят значительных изменений в будущем. Если значения изменятся, вам нужно будет опубликовать обновленную версию шаблона формы, чтобы пользователи могли видеть и использовать новые элементы в списке.

Нажмите на кнопку «Add» (Добавить).

Если пользователь выбирает значение, введите текст, который вы хотите сохранить в поле Значение.

Выберите Имя дисплея, введите текст для дисплея и нажмите OK.

Повторите шаги 1-3 для каждой записи, которую необходимо добавить в список.

Чтобы проверить изменения, нажмите кнопку Просмотр на стандартной панели инструментов или нажмите CTRL+SHIFT+В.

Использование значения из другого элемента формы

Использование этой опции полезно, когда вы хотите изменить значения в списке в зависимости от того, что ввели другие пользователи.

В разделе Элементы списка нажмите кнопку Заменить значения из источника данных формы.

Элементы в списке должны быть связаны с определенной повторяющейся группой или повторяющимся полем шаблона формы.

Нажмите кнопку Select XPath рядом с полем Items, затем в диалоговом окне Select Field or Group выберите повторяющееся поле или группу с полями, которые будут содержать значения для списка, затем нажмите OK.

Выберите кнопку Select XPath рядом с полем Value, затем щелкните на поле, содержащем возможные значения для каждого элемента списка, и нажмите OK. Когда пользователь выберет одно из этих значений, оно будет добавлено в XML-файл.

Нажмите кнопку Select XPath рядом с полем Display Name, выберите поле с перечисленными значениями и нажмите OK.

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

Использование значений из базы данных, веб-службы, XML-документов или сайта SharePoint

Эта опция удобна, если вы хотите, чтобы значения в списке регулярно обновлялись. Значения формы обычно хранятся в базе данных или другом внешнем источнике и извлекаются при каждом открытии формы.

Внешний источник данных будет отображен после нажатия кнопки Поиск значений.

Сделайте одно из следующих действий

Выберите уже добавленное подключение к данным, щелкнув по нему.

Чтобы добавить новое подключение для передачи данных, нажмите кнопку Добавить и следуйте инструкциям мастера подключения к сети.

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

Нажмите кнопку Выбрать XPath рядом с полем Элементы, затем в диалоговом окне Выбор поля или группы выберите поле или группу, содержащую поля, которые будут содержать значения для списка, а затем нажмите кнопку OK.

Если нажать на кнопку Select XPath рядом с полем Value, выбрать поле, содержащее возможные значения для элементов списка, и нажать OK, значение будет сохранено в XML, когда пользователь выберет элемент в списке.

Нажмите кнопку Select XPath рядом с полем Display Name, выберите поле с перечисленными значениями и нажмите OK.

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

Советы по макету

Следующие советы помогут вам настроить внешний вид выпадающего списка, его размер и прочие параметры.

Мы рекомендуем расширять выпадающий список на несколько пробелов больше, чем средняя ширина элементов в нем. Это гарантирует, что элементы списка не будут частично скрыты.

Чтобы изменить ширину сразу нескольких выпадающих списков, выделите их, нажмите ALT+ENTER, откройте вкладку Размер, а затем введите новое значение в поле Ширина.

Цвета фона нескольких выпадающих списков можно изменить сразу, выделив их. Кнопку Границы и заливка в меню Формат можно открыть, щелкнув ее, а затем внести необходимые изменения на вкладке Заливка.

Вы можете настроить шрифт, который отображается в раскрывающемся списке, с помощью полей Шрифт и Размер шрифта на панели инструментов Форматирование. Чтобы изменить шрифт и размер шрифта сразу для всех выпадающих списков в шаблоне формы, щелкните выпадающий список с нужным форматированием, а затем выберите Применить шрифт для всех элементов управления выпадающего списка в меню Формат.

Если вы хотите изменить расстояние между раскрывающимся списком и окружающими объектами, настройте параметры отступов в диалоговом окне свойств раскрывающегося списка (на вкладке Размер). С помощью полей можно задать более точный интервал, чем с помощью разрывов абзацев.

голоса
Рейтинг статьи
Ссылка на основную публикацию
Adblock
detector