Примечание: Мы стараемся как можно оперативнее обеспечивать вас актуальными справочными материалами на вашем языке. Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Просим вас уделить пару секунд и сообщить, помогла ли она вам, с помощью кнопок внизу страницы. Для удобства также приводим ссылку на оригинал (на английском языке) .
Каскадные списки помогают пользователям быстрое заполнение формы и обеспечить пользователям вводить данные правильно. В этой статье описано, как создавать и заполнять каскадных списков с данными. В Microsoft Office InfoPath можно заполнить список с данными, которые используются значения из формы, значения из внешнего документа язык XML (Extensible Markup) или значений из базы данных Microsoft Office Access.
В этой статье
Что такое каскадного списка?
Каскадного списка является поле со списком с параметрами, которые изменяется в зависимости от значение, которое пользователь выбирает в другом списке. Например если пользователь щелкает приправы в поле категории показано на приведенном ниже рисунке, окне товары будет отображен список приправ.
Ниже показано, как разработка шаблона формы с двумя списками, где второй список отфильтрован на основе значения, которые пользователь выбирает в первом раскрывающемся списке. При изменении значения в первом списке фильтр автоматически применяется ко второй список, который изменяет свои значения.
Совместимость
Фильтры можно использовать только в шаблонах форм, предназначенных для заполнения в InfoPath. Фильтры недоступны в шаблонах форм с поддержкой браузера.
Шаг 1: Вставка каскадного списка
Чтобы создать каскадного списка, необходимо вставить двумя списками в шаблоне формы.
Примечание: При вставке каскадного списка в шаблоне формы убедитесь, что два списки не являются повторяющийся раздел или повторяющаяся таблица.
-
Если область задач Элементы управления не отображается, щелкните Другие элементы управления в меню Вставка или нажмите клавиши ALT+I, C.
-
В разделе Вставить элементы управления в области задач элементы управления нажмите кнопку Раскрывающегося списка. При заполнении формы, основанного на шаблоне формы выделенного фрагмента в это поле раскрывающегося списка будут определять варианты, доступные в списке второй.
-
Щелкните список. Шаблон формы с именами поле раскрывающегося списка и стандартный список.
-
Дважды щелкните поле раскрывающегося списка, добавленного в шаблоне формы на шаге 2.
-
Щелкните вкладку " данные " в диалоговом окне Свойства раскрывающегося списка.
-
В поле имя поля введите listBox1и нажмите кнопку ОК.
-
Дважды щелкните поле списка, добавленного в шаблоне формы на шаге 3.
-
В диалоговом окне Свойства: список откройте вкладку данные.
-
В поле имя поля введите Список2каскадныйи нажмите кнопку ОК.
Шаг 2: Предоставить данные
Теперь, вставке полях со списком в шаблоне формы, необходимо ввести данные, которые будут отображаться. Затем необходимо применить фильтр таким образом, чтобы во втором поле списка вариантов основаны на выбор пользователя в первом списке.
В этом разделе объясняется, как подключаться к данным полях со списком с помощью трех обычных методов: Добавление данных в форму; подключение формы в существующие XML-документ, содержащий данные; или подключения к базе данных, содержащую данные в форме. Чтобы завершить создание каскадного списка, выберите способ, который вы хотите использовать в приведенном ниже списке.
Подключение к данным в форме
В этом разделе вы узнаете, как заполнить список полей с данными из формы. Чтобы сделать это, сначала необходимо настроить поля в шаблоне формы, чтобы вы могли вводить имена категорий и наборов продуктов для каждой категории.
Настройка полей в шаблоне формы
-
Если в области задач Источник данных не отображается, в меню Вид выберите Источник данных.
-
В области задач Источник данных щелкните правой кнопкой мыши моиПоля группы и нажмите кнопку Добавить.
-
Введите в поле " имя " в диалоговом окне Добавление поля или группыТипыИТовары.
-
В списке Тип выберите группу.
-
Установите флажок повторяющимся и нажмите кнопку ОК.
-
В области задач Источник данных щелкните правой кнопкой мыши группу ТипыИТовары.
-
В поле " имя " в диалоговом окне Добавление поля или группы введите категориюи нажмите кнопку ОК. В этом поле будет содержать имена категорий в первом раскрывающемся списке.
-
Щелкните правой кнопкой мыши группу ТипыИТовары и нажмите кнопку Добавить.
-
Введите в поле " имя " в диалоговом окне Добавление поля или группыпродуктов.
-
Установите флажок повторяющимся и нажмите кнопку ОК. В этом поле будет содержать названия продуктов для второго списка.
Так как этот список заполняется данными из формы, необходимо добавить данные в форму. Чтобы сделать это, необходимо создать значения по умолчанию для поля продукта и категории.
Совет
Можно также создать списки, которые отображаются значения, которые пользователи вводят в форму сами. Чтобы сделать это, связать поле со списком с полями, привязанных к элементам управления в форме. При вводе значения в элементы управления, изменить список вариантов в поле со списком.
Создание значений по умолчанию
-
В меню Сервис выберите пункт Значения по умолчанию.
-
В диалоговом окне Изменение значений по умолчанию в группе ТипыИТовары выберите поле « Категория » (не снимайте флажок), а затем введите в поле значение по умолчаниюРыбопродукты.
-
Выберите поле продукта (не снимайте флажок), а затем в поле значение по умолчанию введите Крабовое мясо.
-
Щелкните правой кнопкой мыши поле продукта и нажмите кнопку Добавить другого продукта выше. Это позволяет добавлять второй продукта для Рыбопродукты как значение по умолчанию.
-
Щелкните правой кнопкой мыши второй экземпляр поля продукта (не снимайте флажок), а затем введите в поле значение по умолчаниюЛососина.
-
Щелкните правой кнопкой мыши группу ТипыИТовары и нажмите кнопку Добавить другой ниже. Это позволяет добавлять второй категории как значение по умолчанию.
-
Используйте описанные выше действия, чтобы указать значения по умолчанию для поля категорий и продуктаМолочные продукты, Чеддер и Шоколадное молоко второй экземпляр соответственно.
-
Нажмите кнопку ОК.
Теперь, когда вы ввели значения по умолчанию для поля продукта и категории, вы можете подключить к данным, который вы только что ввели в первом раскрывающемся списке.
Подключение к данным в первом раскрывающемся списке
-
В шаблоне формы дважды щелкните поле раскрывающегося списка, вставленную ранее.
-
Откройте вкладку Данные.
-
В диалоговом окне Свойства раскрывающегося списка в поле элементы списка щелкните Подставить значения из источника данных формы.
-
Нажмите кнопку Выбрать XPath рядом с полем элементы.
-
В диалоговом окне Выбор поля или группы в группе ТипыИТовары щелкните поле категории и два раза нажмите кнопку ОК.
Теперь необходимо подключить второй список к данным. При выполнении этого подключение к данным, нужно применить фильтр для второго списка. Этот фильтр заполнит второй список соответствующими товарами, на основе категории, выбранный в первом списке. Этот фильтр сравнивает значения, выбранного в первом списке (поле «Список1») со списком категорий, сохраненным в форме (поле категории).
Второй список подключения к данным
-
В шаблоне формы дважды щелкните стандартный список, вставленную ранее.
-
Откройте вкладку Данные.
-
В диалоговом окне Свойства: список в разделе элементы списка, нажмите кнопку Поиск значений в источнике данных формы.
-
Нажмите кнопку Выбрать XPath рядом с полем элементы.
-
В диалоговом окне Выбор поля или группы в группе ТипыИТовары щелкните поле продукта и нажмите кнопку Фильтрации данных.
-
В диалоговом окне Фильтр данных нажмите кнопку Добавить.
-
В диалоговом окне Задание условий фильтра нажмите кнопку в первом поле Выберите поля или группы.
-
В диалоговом окне Выбор поля или группы щелкните Список1 и нажмите кнопку ОК.
-
В диалоговом окне Задание условий фильтра нажмите кнопку в третьем поле Выберите поля или группы.
-
В диалоговом окне Выбор поля или группы щелкните поле « Категория » и нажмите кнопку ОК, чтобы закрыть все открытые диалоговые окна.
Теперь, когда вы подключились второй список к данным и применен фильтр, можно приступать протестировать списки, чтобы убедиться в том, что они работают неправильно.
Проверьте поле со списком
-
Чтобы проверить изменения, нажмите кнопку Просмотр на стандартной панели инструментов или нажмите клавиши CTRL+SHIFT+B.
-
В раскрывающемся списке нажмите кнопку морепродуктов. В поле стандартный список должна отобразиться пустая строка, апостроф мяса и Лососина.
Примечание: Пустая строка позволяет пользователям снимите их выбор из раскрывающегося списка.
Если списки не работают правильно, проверьте фильтр для второго списка и убедитесь в том, что он сравнивает поле Список1 с полем категории.
Подключение к внешнему документу XML
В этом разделе вы узнаете, как создать подключение к данным в XML-документ, содержащий значения продукта и категории. XML-документ будет вашей дополнительный источник данных. Чтобы создать это подключение к данным, необходимо будет создать XML-документ, связать с XML-документ полях со списком в шаблоне формы и применить фильтр для второго списка, чтобы список продуктов, изменяется соответствующим образом.
Прежде чем вы можете связать форму с дополнительный источник данных, необходимо создать XML-документ.
Создание документа XML
-
Запустите Блокнот или другой текстовый редактор.
-
Скопируйте и вставьте следующий XML-данные в текстовом редакторе:
<?xml version="1.0" encoding="UTF-8"?>
<ListBoxData>
<CategoriesAndProducts>
<Categories>Seafood</Categories>
<Products>
<Product>Crab meat</Product>
</Products>
<Products>
<Product>Salmon</Product>
</Products>
</CategoriesAndProducts>
<CategoriesAndProducts>
<Categories>Dairy</Categories>
<Products>
<Product>Chocolate milk</Product>
</Products>
<Products>
<Product>Cheddar</Product>
</Products>
</CategoriesAndProducts>
</ListBoxData> -
Сохраните файл на своем компьютере как listBoxData.xml.
Теперь, когда вы создали XML-документ, вы можете подключить к шаблону формы. Будут созданы дополнительный источник данных.
Подключение документа XML в шаблон формы
-
В меню Сервис выберите пункт Подключения к данным.
-
В диалоговом окне Подключения к данным нажмите кнопку Добавить.
-
В мастере подключения данных нажмите кнопку получить данные и нажмите кнопку Далее.
-
На следующей странице мастера выберите XML-документ и нажмите кнопку Далее.
-
На следующей странице мастера нажмите кнопку Обзор, выберите файл listBoxData.xml, сохраненные на компьютере и нажмите кнопку Открыть.
-
На следующей странице мастера нажмите кнопку Включить данные в виде файла ресурса в шаблон формы или блока шаблона и нажмите кнопку Далее.
-
На следующей странице мастера в поле Введите имя для этого подключения данных введите списокДанныеXML-файл.
-
Установите флажок автоматически извлекать данные при открытии формы. Это гарантирует, что данные списка поле будет доступен при каждом открытии формы, вместо требуя пользователя для запроса для него.
-
Нажмите кнопку Готово.
-
В диалоговом окне Подключения к данным нажмите кнопку Закрыть.
Теперь вы готовы подключения к данным в XML-документе первого раскрывающегося списка в шаблоне формы.
Подключение к данным в первом раскрывающемся списке
-
В шаблоне формы дважды щелкните поле раскрывающегося списка, вставленную ранее.
-
Откройте вкладку Данные.
-
В диалоговом окне Свойства раскрывающегося списка в поле элементы списка щелкните Подставить значения из внешнего источника данных.
-
В поле источник данных щелкните списокДанныеXML-файл.
-
Нажмите кнопку Выбрать XPath рядом с полем элементы.
-
В диалоговом окне Выбор поля или группы в группе ТипыИТовары щелкните поле категории.
Примечание: Желтый фон в диалоговом окне Выбор поля или группы указывает, что вы работаете с дополнительный источник данных.
-
Нажмите кнопку ОК два раза.
Теперь необходимо подключить второй список в XML-документ. Во время подключения данных нужно применить фильтр для второго списка. Этот фильтр заполнит второй список соответствующими товарами, на основе категории, выбранный в первом списке. Этот фильтр сравнивает значения, выбранного в первом списке (поле «Список1») со списком категорий, сохраненным в форме (поле категории).
Второй список подключения к данным
-
В шаблоне формы дважды щелкните стандартный список, вставленную ранее.
-
Откройте вкладку Данные.
-
В диалоговом окне Свойства: список в разделе элементы списка, щелкните Подставить значения из внешнего источника данных.
-
В поле источник данных щелкните списокДанныеXML-файл.
-
Нажмите кнопку Выбрать XPath рядом с полем элементы.
-
В диалоговом окне Выбор поля или группы в группе ТипыИТовары развернуть группу продуктов и затем щелкните поле продукта.
-
Нажмите кнопку фильтрации данных.
-
В диалоговом окне Фильтр данных нажмите кнопку Добавить.
-
В диалоговом окне Задание условий фильтра нажмите кнопку в первом поле Выберите поля или группы.
-
В поле источник данных в диалоговом окне Выбор поля или группы щелкните основной.
-
Щелкните Список1 и нажмите кнопку ОК.
-
В диалоговом окне Задание условий фильтра нажмите кнопку в третьем поле Выберите поля или группы.
-
В поле источник данных в диалоговом окне Выбор поля или группы нажмите кнопку списокДанныеXML-файл (дополнительный) и нажмите кнопку категории.
-
Нажмите кнопку ОК, чтобы закрыть все диалоговые окна.
Теперь, когда вы подключились второй список в XML-документ и применен фильтр, можно приступать протестировать списки, чтобы убедиться в том, что они работают неправильно.
Проверьте поле со списком
-
Чтобы проверить изменения, нажмите кнопку Просмотр на стандартной панели инструментов или нажмите клавиши CTRL+SHIFT+B.
-
В раскрывающемся списке нажмите кнопку морепродуктов. В обычном списке следует отображаются только пустую строку, апостроф мяса и Лососина.
Примечание: Пустая строка позволяет пользователям снимите их выбор из раскрывающегося списка.
Если списки не работают правильно, проверьте фильтр для второго списка и убедитесь в том, что он сравнивает поле Список1 с полем категории.
Подключение к базе данных
В этом разделе вы узнаете, как создать подключение к данным к двум таблицам в базе данных Access. Чтобы сделать это, поставить базы данных в полях со списком в шаблоне формы и применить фильтр для второго списка, чтобы со списком в поле второй вносить изменения поддержку на должном уровне с учетом значения, выбранного в первом списке. В этом примере мы предположим, что база данных Access содержит две таблицы под названием категории и товары и что эти две таблицы связаны друг с другом поле «Идкатегории», которое используется в каждой из таблиц.
Таблицы с категориями
КодКатегории |
Категория |
1 |
Морепродуктов |
2 |
Молочные продукты |
Таблицы Товары
ProductID |
КодКатегории |
Марка |
1 |
1 |
Мясо апостроф |
2 |
1 |
Лососина |
3 |
2 |
Шоколадное молоко |
4 |
2 |
Чеддер |
Подключение к источнику данных шаблона формы
Во-первых необходимо создать подключение к данным между шаблона формы и таблицами в базе данных. Так как транслируется данных из базы данных, вместо того чтобы напрямую, изменив его базы данных Access будет дополнительный источник данных для шаблона формы.
-
В меню Сервис выберите пункт Подключения к данным.
-
В диалоговом окне Подключения к данным нажмите кнопку Добавить.
-
В мастере подключения данных нажмите кнопку получить данные и нажмите кнопку Далее.
-
На следующей странице мастера выберите базу данных (Microsoft SQL Server или Microsoft Office Access) и нажмите кнопку Далее.
-
На следующей странице мастера нажмите кнопку Выбор базы данных и найдите и дважды щелкните базу данных Access на жестком диске.
-
В диалоговом окне Выбор таблицы выберите таблицу, содержащую данные, которые нужно отобразить в первом списке (в данном примере таблицы с категориями) и нажмите кнопку ОК. Это указывает таблицу как главная таблица для подключения к данным.
-
В мастере нажмите кнопку Добавить таблицу.
-
В диалоговом окне Добавление таблицы или запроса щелкните таблицу, которая содержит данные, которые нужно отобразить в списке второй (в данном примере таблицу Товары) и нажмите кнопку Далее.
-
В диалоговом окне Изменение отношения убедитесь в том, правильно ли полей соединения. В этом примере таблицы связаны друг с другом по полю «категория».
Совет: Если неверны полей соединения, выберите поля и нажмите кнопку Удалить связь. Затем нажмите кнопку Добавить отношение, выберите нужные поля и нажмите кнопку ОК.
-
Нажмите кнопку Готово.
Примечание: В этом примере таблица категорий имеет один ко многим отношения к таблице products, это означает, что для каждой категории один может быть много товаров. В базе данных этот вид связи обычно устанавливается с помощью ключевых полей. В этом случае ключевыми полями обеспечивает доступ для присоединения к ним в соответствующую категорию правильный набор продуктов.
-
В мастере Просмотрите структуру источника данных. Вы увидите две таблицы, подключенные друг к другу: главной таблицы и вспомогательной таблицы. Для просмотра отдельных полей в таблице, установите флажок Показать столбцы таблицы. Когда вы закончите просмотр структуры данных, нажмите кнопку Далее.
-
Снимите флажок сохранять копию данных в шаблоне формы и нажмите кнопку Далее.
-
В поле Введите имя для этого подключения к данным на следующей странице мастера введите имя для подключения к данным.
-
Установите флажок автоматически извлекать данные при открытии формы.
-
Нажмите кнопку Готово, а затем нажмите кнопку Закрыть в диалоговом окне Подключения к данным.
Подключение к данным в первом раскрывающемся списке
Теперь, когда вы создали подключение к данным на дополнительный источник данных, вы можете подключить первый список в шаблоне формы с таблицами в базе данных.
-
В шаблоне формы дважды щелкните поле раскрывающегося списка, добавленного более ранней версии.
-
Откройте вкладку Данные.
-
В диалоговом окне Свойства раскрывающегося списка в поле элементы списка щелкните Подставить значения из внешнего источника данных.
-
В поле источник данных установите флажок подключения к данным, которые вы создали.
-
Нажмите кнопку Выбрать XPath рядом с полем элементы.
-
В диалоговом окне Выбор поля или группы щелкните имя таблицы, которая содержит данные, которые нужно отобразить в раскрывающемся списке (в данном примере d: типы ) и нажмите кнопку ОК.
Примечание: Желтый фон в диалоговом окне Выбор поля или группы указывает, что вы работаете с дополнительный источник данных.
-
Нажмите кнопку Выбрать XPath рядом с полем значение.
-
В диалоговом окне Выбор поля или группы, убедитесь, что поле соединительные (в данном примере : CategoryID ) установлен и нажмите кнопку ОК. Это значение, когда пользователь выбирает элемент в поле со списком, будут сохранены.
-
Нажмите кнопку Выбрать XPath рядом с полем отображаемое имя.
-
В диалоговом окне Выбор поля или группы, выберите имя поля, которое будет отображаться в раскрывающемся списке (в данном примере : «категория» ).
-
Нажмите кнопку ОК два раза.
Подключение к данным второго поля списка
Теперь необходимо подключить второй список к базе данных. Во время подключения данных нужно применить фильтр для второго списка. Этот фильтр заполнит второй список соответствующими значениями, на основе значения, выбранного в первом списке.
-
В шаблоне формы дважды щелкните стандартный список.
-
Откройте вкладку Данные.
-
В диалоговом окне Свойства: список в разделе элементы списка, щелкните Подставить значения из внешнего источника данных.
-
В поле источник данных установите флажок подключения к данным, которые вы создали.
-
Нажмите кнопку Выбрать XPath рядом с полем элементы.
-
В диалоговом окне Выбор поля или группы разверните основной группы (в данном примере d: типы ) и нажмите кнопку дополнительный группу, которая соответствует таблицу, содержащую данные, которые требуется отобразить каскадного списка (в данном Например, продуктов ).
-
Нажмите кнопку фильтрации данных.
-
В диалоговом окне Фильтр данных нажмите кнопку Добавить.
-
В диалоговом окне Задание условий фильтра в первом поле убедитесь в том, что выбрано поле подключения из вспомогательной таблицы (в этом примере продукты ).
Важно: При подключении поля имеют одинаковые имена в обеих таблицах, убедитесь в том, что выбран правильный один. В списке полей из каждой таблицы будут сгруппированы вместе. Таким образом окружающих имена полей можно использовать для определения верный. В этом примере мы выберите поле «Идкатегории», которая появляется с других полей из таблицы «Товары».
-
В третьем поле нажмите кнопку выбрать поля или группы.
-
В поле источник данных в диалоговом окне Выбор поля или группы щелкните основной, щелкните поле listBox1 и нажмите кнопку ОК.
Теперь вы настроили фильтра, сравнивающее значения, выбранного в поле со списком (поле «Список1») с помощью списка значений в списке стандартных.
-
Три раза нажмите кнопку ОК, чтобы вернуться в диалоговое окно Свойства поля списка.
-
Нажмите кнопку Выбрать XPath рядом с полем значение.
-
В диалоговом окне Выбор поля или группы выберите значение, которое вы хотите сохранять, когда пользователь выбирает элемент в поле со списком. В этом примере мы нужно сохранить поле ProductID для дальнейшего использования. Таким образом, нажмем кнопку : ProductID группы и нажмите кнопку ОК.
-
Нажмите кнопку Выбрать XPath рядом с полем отображаемое имя.
-
В диалоговом окне Выбор поля или группы, щелкните имя поля, которое нужно отобразить в списке (в данном примере : ProductName ).
-
Нажмите кнопку ОК два раза.
Проверьте поле со списком
Теперь, когда вы подключились второй список в базу данных и применен фильтр, можно приступать протестировать списки, чтобы убедиться в том, что они работают неправильно.
-
Чтобы проверить изменения, нажмите кнопку Просмотр на стандартной панели инструментов или нажмите клавиши CTRL+SHIFT+B.
-
Выберите значение в поле раскрывающегося списка. В обычном списке изменится соответствующие значения из вспомогательной таблицы в зависимости от соединительные поле, которое вы выбрали.
Совет: Если списки не работают правильно, проверьте фильтр для второго списка и убедитесь в том, что он сравнивает поле Список1 с полем CategoryID.