Забележка: Бихме искали да ви осигурим най-новото помощно съдържание възможно най-бързо на вашия собствен език. Тази страница е преведена чрез автоматизация и може да съдържа граматически грешки и несъответствия. Нашата цел е това съдържание да ви бъде полезно. Можете ли да ни кажете дали информацията е била полезна за вас, в дъното на тази страница? Ето статията на английски за бърза справка.
Каскадни списъчни полета помагат на потребителите попълват формуляри по-бързо и да се гарантира, че потребителите въвеждат данни правилно. Тази статия описва как да създадете и да попълните каскадни списъчни полета с данни. В Microsoft Office InfoPath можете да попълните списък с данни, който използва стойности от формуляра, стойности от външен Extensible Markup Language (XML) документ или стойности от база данни на Microsoft Office Access.
В тази статия
Какво представлява каскадни списъчно поле?
Каскадни списъчно поле е на списъчно поле с възможности за избор, промяна на базата на стойността, която потребителят избира в друг списъчно поле. Например ако потребителят щракне тази категория в полето категории , показани на следващата илюстрация, полето продукти ще покаже списък на тази категория.
Следващите раздели ви покаже как да проектирате шаблон на формуляр с две списъчни полета, където се филтрира втората списъчното поле въз основа на стойността на потребител избере от първата списъчното поле. Когато се промени стойността в първия списъчното поле, филтъра автоматично се прилага към втората списъчно поле, което се променя стойностите си.
Съображения за съвместимост
Филтри могат да се използват само в шаблони за формуляри, които са предназначени да се попълват в InfoPath. Филтри не са налични в шаблони за формуляри, съвместими с браузър.
Стъпка 1: Вмъкване на каскадна списъчно поле
За да създадете списъчно поле с каскадни, трябва да вмъкнете две списъчни полета във вашия шаблон на формуляр.
Забележка: Когато вмъквате каскадни списъчно поле във вашия шаблон на формуляр, уверете се, че две списъчни полета не са в повтаряща се секция или повтаряща се таблица.
-
Ако прозорецът на задачите Контроли не се вижда, щракнете върху Още контроли в менюто Вмъкване или натиснете клавишите ALT+I, C.
-
Под Вмъкване на контроли в прозореца на задачите контроли щракнете върху Падащото списъчно поле. Когато потребителят попълва формуляр, който се базира на вашия шаблон на формуляр, селекцията в падащия списък това поле ще определи възможностите за избор, които са налични във второто поле списък.
-
Щракнете върху списъчно поле. Вашият шаблон на формуляр трябва да съдържа сега падащото списъчно поле и стандартно списъчно поле.
-
Щракнете двукратно върху падащото списъчно поле, което сте вмъкнали във вашия шаблон на формуляр в стъпка 2.
-
В диалоговия прозорец Свойства на падащото списъчно поле щракнете върху раздела " данни ".
-
В полето име на поле въведете listBox1и след това щракнете върху OK.
-
Щракнете двукратно върху списъчното поле, което сте вмъкнали във вашия шаблон на формуляр в стъпка 3.
-
В диалоговия прозорец Свойства на списъчно поле щракнете върху раздела " данни ".
-
В полето име на поле въведете listBox2Cascadeи след това щракнете върху OK.
Стъпка 2: Предоставяне на данни
Сега, че сте вмъкнали списъчни полета във вашия шаблон на формуляр, трябва да предоставите данните, те ще се показват. След това трябва да приложите филтър така, че възможностите за избор в списъчното поле на втората се базират на избор на потребителя в първия списъчното поле.
Този раздел обяснява как да се свържете списъчни полета с данни с помощта на три основни начина: Добавяне на данни към формуляра за себе си; свържете формуляра към съществуващ XML документ, който съдържа данни; или свържете формуляра към база данни, която съдържа данните. За да завършите създаването на каскадни списъчното поле, щракнете върху метода, който искате да използвате в списъка по-долу.
Свързване към данни във формуляра
В този раздел ще научите как да попълвате списъчни полета с данни от формуляра. За да направите това, трябва първо да конфигурирате полета в шаблон на формуляр така, че можете да въведете имената на категориите и набор от продукти за всяка категория.
Конфигуриране на полетата в шаблона за формуляр
-
Ако прозорецът на задачите Източник на данни не се вижда, щракнете върху Източник на данни в менюто изглед .
-
В прозореца на задачите Източник на данни с десния бутон върху групата myFields и след това щракнете върху Добави.
-
В полето име в диалоговия прозорец Добавяне на поле или група въведете CategoriesAndProducts.
-
В списъка тип щракнете върху групиране.
-
Изберете квадратчето повторение и след това щракнете върху OK.
-
В прозореца на задачите Източник на данни щракнете с десния бутон CategoriesAndProducts група.
-
В полето име в диалоговия прозорец Добавяне на поле или група въведете категорияи след това щракнете върху OK. Това поле съдържа имената на категориите за първия списъчното поле.
-
Щракнете с десния бутон CategoriesAndProducts група и след това щракнете върху Добави.
-
В полето име в диалоговия прозорец Добавяне на поле или група въведете продукт.
-
Изберете квадратчето повторение и след това щракнете върху OK. Това поле съдържа имената на продуктите за втората списъчното поле.
Тъй като този списъчно поле се попълва с данни от формуляра, данните, които трябва да се добавят към формуляра. За да направите това, трябва да създадете стойности по подразбиране за полетата на продукта и категория .
Съвет
Можете също да създадете списък с полета, които показват стойности, които потребителите въвеждат във формуляра за себе си. За да направите това, свържете списъчно поле с полетата, които са обвързани контроли във формуляра. Когато потребител въведе стойности в контролите, промяна на възможностите за избор в списъчното поле.
Създаване на стойности по подразбиране
-
В менюто инструменти щракнете върху Стойностите по подразбиране.
-
В диалоговия прозорец Редактиране на стойностите по подразбиране , в групата CategoriesAndProducts , изберете полето " категория " (не изчистете отметката от квадратчето), и след това в полето стойност по подразбиране въведете морски.
-
Изберете полето " продукт " (не изчистете отметката от квадратчето), и след това в полето стойност по подразбиране въведете раци месо.
-
Щракнете с десния бутон полето " продукт " и след това щракнете върху Добавяне на друг продукт на по-горе. Това ви позволява да добавите втори продукт за морски като стойност по подразбиране.
-
Щракнете с десния бутон втория екземпляр на полето " продукт " (не изчистете отметката от квадратчето), и след това в полето стойност по подразбиране въведете сьомга.
-
Щракнете с десния бутон CategoriesAndProducts група и след това щракнете върху Добавяне на друг CategoriesAndProducts по-долу. Това ви позволява да добавите втора категория като стойност по подразбиране.
-
Използвайте предишните стъпки, за да зададете стойностите по подразбиране за втория екземпляр на категория и продукт полетата за млечни продукти, Чедъри шоколад, съответно.
-
Щракнете върху OK.
Сега, че сте въвели стойностите по подразбиране за полетата на продукта и категория , можете да свържете първия списъчното поле към данни, която току-що въведохте.
Свързване на първия списъчно поле с данни
-
В шаблона за формуляр щракнете двукратно върху падащото списъчно поле, което сте вмъкнали преди това.
-
Щракнете върху раздела Данни.
-
В диалоговия прозорец Свойства на падащото списъчно поле под елементи на списъчно поле, щракнете върху Търсене на стойности в източника на данни на формуляра.
-
Щракнете върху Избор на XPath до полето елементи .
-
В избор на поле или група диалоговия прозорец в групата CategoriesAndProducts щракнете върху полето " категория " и след това щракнете върху OK два пъти.
Сега трябва да свържете втори списъчното поле в данните. Същевременно тази връзка с данни, искате да приложите филтър към втората списъчното поле. Този филтър ще попълните втората списъчно поле с подходящия продукти, въз основа на категорията, избран в първия списъчното поле. Филтъра сравнява стойността, избран в първия списъчното поле (поле на listBox1) със списъка с категории, записани във формуляра ("категория").
Свързване на втори списъчно поле с данни
-
В шаблона за формуляр щракнете двукратно върху стандартен списъчното поле, което сте вмъкнали преди това.
-
Щракнете върху раздела Данни.
-
В диалоговия прозорец Свойства на списъчно поле под елементи на списъчно поле, щракнете върху Търсене на стойности в източника на данни на формуляра.
-
Щракнете върху Избор на XPath до полето елементи .
-
В избор на поле или група диалоговия прозорец в групата CategoriesAndProducts щракнете върху полето на продукта и след това щракнете върху Филтриране на данни.
-
В диалоговия прозорец Филтриране на данни щракнете върху Добавяне.
-
В диалоговия прозорец Задайте условия за филтриране щракнете върху избор на поле или група в първото поле.
-
В диалоговия прозорец избор на поле или група щракнете върху listBox1и след това щракнете върху OK.
-
В диалоговия прозорец Задайте условия за филтриране щракнете върху избор на поле или група в третото поле.
-
В диалоговия прозорец избор на поле или група щракнете върху полето " категория " и след това щракнете върху OK , за да затворите всички отворени диалогови прозорци.
Сега, когато сте свързани втората списъчното поле към данните и прилага филтъра, сте готови да тествате списъчни полета, за да се уверите, че те работят правилно.
Тестване на списъчни полета
-
За да тествате промените, щракнете върху Визуализация на лентата с инструменти Стандартни или натиснете CTRL+SHIFT+B.
-
В падащия списък щракнете върху морски. Стандартни списъчното поле трябва да показват празен ред, раци месои сьомга.
Забележка: Празен ред позволява на потребителите да изчистите избора от списъчното поле.
Ако списъчни полета не работят правилно, прегледайте филтърът за втората списъчното поле да се уверите, че тя да се сравнява listBox1 поле с полето " категория ".
Свързване към външни XML документ
В този раздел ще научите как да създадете връзка към данни към XML документ, който съдържа продукти и категория стойности. XML документ ще ви вторичен източник на данни. За да създадете тази връзка към данни, трябва да създадете XML документ, свържете списъчни полета в шаблон на формуляр с XML документ и след това прилагане на филтър към втората списъчното поле така, че списъкът на продуктите промени по подходящ начин.
Преди да можете да свържете формуляра с вторичен източник на данни, трябва да създадете XML документ.
Създаване на XML документ
-
Стартирайте Notepad или друг текстов редактор.
-
Копирайте и поставете следните 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 файла, който сте записали на компютъра си и след това щракнете върху Отвори.
-
На следващата страница на съветника щракнете върху Включи данните като ресурсен файл в шаблона за формуляр или част от шаблони след това щракнете върху напред.
-
На следващата страница на съветника, в полето Въведете име за тази връзка към данни въведете listBoxDataXMLFile.
-
Поставете отметка в квадратчето Автоматично изтегляй данните, когато формулярът е отворен . Това гарантира, че данните на поле от списъка ще бъде достъпен всеки път, когато формулярът е отворен, вместо да се изисква на потребител за заявка за него.
-
Щракнете върху Готово.
-
В диалоговия прозорец Връзки с данни щракнете върху Затвори.
Сега сте готови да се свържете първия списъчно поле в шаблон на формуляр с данните в XML документ.
Свързване на първия списъчно поле с данни
-
В шаблона за формуляр щракнете двукратно върху падащото списъчно поле, което сте вмъкнали преди това.
-
Щракнете върху раздела Данни.
-
В диалоговия прозорец Свойства на падащото списъчно поле под елементи на списъчно поле, щракнете върху Търсене на стойности от външен източник на данни.
-
В полето източник на данни щракнете върху listBoxDataXMLFile.
-
Щракнете върху Избор на XPath до полето елементи .
-
В избор на поле или група диалоговия прозорец в групата CategoriesAndProducts щракнете върху полето " категории ".
Забележка: Жълт фон в диалоговия прозорец избор на поле или група означава, че работите с вторичен източник на данни.
-
Щракнете върху OK два пъти.
Сега ще трябва да се свържете втори списъчното поле към XML документ. Същевременно тази връзка с данни, искате да приложите филтър към втората списъчното поле. Този филтър ще попълните втората списъчно поле с подходящия продукти, въз основа на категорията, избран в първия списъчното поле. Филтъра сравнява стойността, избран в първия списъчното поле (поле на listBox1) със списъка с категории, записани във формуляра ("категория").
Свързване на втори списъчно поле с данни
-
В шаблона за формуляр щракнете двукратно върху стандартен списъчното поле, което сте вмъкнали преди това.
-
Щракнете върху раздела Данни.
-
В диалоговия прозорец Свойства на списъчно поле под елементи на списъчно поле, щракнете върху Търсене на стойности от външен източник на данни.
-
В полето източник на данни щракнете върху listBoxDataXMLFile.
-
Щракнете върху Избор на XPath до полето елементи .
-
В избор на поле или група диалоговия прозорец в групата CategoriesAndProducts разгънете групата продукти и след това щракнете върху полето на продукта .
-
Щракнете върху филтриране на данни.
-
В диалоговия прозорец Филтриране на данни щракнете върху Добавяне.
-
В диалоговия прозорец Задайте условия за филтриране щракнете върху избор на поле или група в първото поле.
-
В полето източник на данни , в диалоговия прозорец избор на поле или група щракнете върху основни.
-
Щракнете върху listBox1и след това щракнете върху OK.
-
В диалоговия прозорец Задайте условия за филтриране щракнете върху избор на поле или група в третото поле.
-
В полето източник на данни , в диалоговия прозорец избор на поле или група щракнете върху listBoxDataXMLFile (средно)и след това щракнете върху категории.
-
Щракнете върху OK, за да затворите всички отворени диалогови прозорци.
Сега, когато сте свързани втората списъчното поле към XML документ и приложени филтъра, сте готови да тествате списъчни полета, за да се уверите, че те работят правилно.
Тестване на списъчни полета
-
За да тествате промените, щракнете върху Визуализация на лентата с инструменти Стандартни или натиснете CTRL+SHIFT+B.
-
В падащия списък щракнете върху морски. Стандартни списъчното поле трябва да показват само празен ред, раци месо и сьомга.
Забележка: Празен ред позволява на потребителите да изчистите избора от списъчното поле.
Ако списъчни полета не работят правилно, прегледайте филтърът за втората списъчното поле да се уверите, че тя да се сравнява listBox1 поле с полето " категория ".
Свързване към база данни
В този раздел ще научите как да създадете връзка с данни към две таблици в база данни на Access. За да направите това, свържете списъчни полета в шаблон на формуляр с базата данни и след това прилагане на филтър към втората списъчното поле, така че списък, показани във втората квадратчето Нанасяй промените по подходящ начин въз основа на стойност, избран в първия списъчното поле. За този пример ние ще приемем, че базата данни на Access съдържа две таблици, факти и че двете таблици са свързани помежду си от CategoryID поле, което се използва във всяка таблица.
Категории на таблица
CategoryID |
CategoryName |
1 |
Морска |
2 |
Млечни продукти |
Таблица за продукти
ProductID |
CategoryID |
ProductName |
1 |
1 |
Раци месо |
2 |
1 |
Сьомга |
3 |
2 |
Шоколад |
4 |
2 |
Чедър |
Свързване на шаблона на формуляр към източника на данни
Първо трябва да създадете връзка към данни между шаблона на формуляр и таблиците в базата данни. Тъй като само показвате данни от база данни, вместо да го променят директно, базата данни на Access ще бъде вторичен източник на данни за шаблона за формуляр.
-
В менюто инструменти щракнете върху Връзки с данни.
-
В диалоговия прозорец Връзки с данни щракнете върху Добавяне.
-
В съветника за връзка към данни щракнете върху получаване на даннии след това щракнете върху напред.
-
На следващата страница на съветника щракнете върху база данни (Microsoft SQL Server или Microsoft Office Access само)и след това щракнете върху напред.
-
На следващата страница на съветника щракнете върху Избор на база даннии след това намерете и щракнете двукратно върху базата данни на Access на твърдия диск.
-
В диалоговия прозорец Избор на таблица щракнете върху таблицата, съдържаща данните, които искате да покажете в първия списък (в този пример таблицата по категории) и след това щракнете върху OK. Това указва таблицата, като основната таблица за връзка с данни.
-
В съветника щракнете върху Добавяне на таблица.
-
В диалоговия прозорец Добавяне на таблица или заявка щракнете върху таблицата, съдържаща данните, които искате да покажете във втория списък (в този пример таблицата "продукти") и след това щракнете върху напред.
-
В диалоговия прозорец Редактиране на релации Уверете се, че свързващи полета са правилни. В този пример таблиците са свързани помежду си по CategoryID поле.
Съвет: Ако свързващи полета са неправилни, изберете полетата и след това щракнете върху Премахни връзката. След това щракнете върху Добавяне на връзка, изберете правилния полета и след това щракнете върху OK.
-
Щракнете върху Готово.
Забележка: В този пример категории таблицата има релация "един към много" към таблицата "продукти", което означава, че за всяка една категория може да бъде много продукти. В база данни този тип отношения е обикновено се създават с помощта на ключовите полета. В този случай полето CategoryID ключ позволява достъп до свържете правилния набор от продукти с подходящата категория.
-
В съветника Прегледайте структурата на данните източник. Би трябвало да видите две таблици, свързани помежду си: основната таблица и вторична таблицата. За да видите отделни полета в таблицата, поставете отметка в квадратчето Показване на колони на таблица . След като приключите с прегледа на структурата на данните, щракнете върху напред.
-
Изчистете отметката от квадратчето Съхрани копие от данните в шаблона за формуляр и след това щракнете върху напред.
-
В полето Въведете име за тази връзка към данни на следващата страница на съветника въведете име за връзката с данни.
-
Поставете отметка в квадратчето Автоматично изтегляй данните, когато формулярът е отворен .
-
Щракнете върху Готовои след това щракнете върху Затвори в диалоговия прозорец Връзки с данни .
Свързване на първия списъчно поле с данни
Сега, че сте създали връзка към данни към вторичен източник на данни, можете да свържете първия списъчно поле в шаблон на формуляр към таблиците в базата данни.
-
В шаблона за формуляр щракнете двукратно върху падащото списъчно поле, което сте вмъкнали по-рано.
-
Щракнете върху раздела Данни.
-
В диалоговия прозорец Свойства на падащото списъчно поле под елементи на списъчно поле, щракнете върху Търсене на стойности от външен източник на данни.
-
В полето източник на данни се уверете, че сте създали връзка с данни.
-
Щракнете върху Избор на XPath до полето елементи .
-
В диалоговия прозорец избор на поле или група щракнете върху името на таблицата, съдържаща данните, които искате да се показват в падащия списък (в този пример d:Categories ) и след това щракнете върху OK.
Забележка: Жълт фон в диалоговия прозорец избор на поле или група означава, че работите с вторичен източник на данни.
-
Щракнете върху Избор на XPath до полето за стойност .
-
В диалоговия прозорец избор на поле или група , уверете се, че полето свързващите (в този пример : CategoryID) е избрано и след това щракнете върху OK. Това е стойността, която ще се запише, когато потребител направи селекция в списъчното поле.
-
Щракнете върху Избор на XPath до полето Показвано име .
-
В диалоговия прозорец избор на поле или група щракнете върху името на полето, което искате да се показват в падащия списък (в този пример : CategoryName).
-
Щракнете върху OK два пъти.
Свързване на втория списъчно поле с данни
Сега ще трябва да свържете втори списъчното поле към базата данни. Същевременно тази връзка с данни, искате да приложите филтър към втората списъчното поле. Този филтър ще попълните втората списъчното поле със съответните стойности, базирана на стойност, избрани в първия списъчното поле.
-
Щракнете двукратно върху стандартно списъчно поле в шаблона за формуляр.
-
Щракнете върху раздела Данни.
-
В диалоговия прозорец Свойства на списъчно поле под елементи на списъчно поле, щракнете върху Търсене на стойности от външен източник на данни.
-
В полето източник на данни се уверете, че сте създали връзка с данни.
-
Щракнете върху Избор на XPath до полето елементи .
-
В диалоговия прозорец избор на поле или група разгънете първична група (в този пример d:Categories) и след това щракнете върху вторичната група, която съответства на таблицата, съдържаща данните, които искате да се показва в каскадни списъчно поле (в това например продукти).
-
Щракнете върху филтриране на данни.
-
В диалоговия прозорец Филтриране на данни щракнете върху Добавяне.
-
В диалоговия прозорец Задайте условия за филтриране в първото поле Уверете се, че полето свързване на процент (в този пример продукти), е избрано.
Важно: Ако полетата свързващите същото име и в двете таблици, уверете се, че сте избрали правилния. Полета от всяка таблица се сортират заедно в списъка. Следователно можете да използвате околните имена на полета за определяне кое е правилна. В този пример ние изберете CategoryID поле, което се появява с другите полета от таблицата "продукти".
-
В третото поле щракнете върху избор на поле или група.
-
В полето източник на данни в диалоговия прозорец избор на поле или група щракнете върху основни, щракнете върху полето, listBox1 и след това щракнете върху OK.
Сега сте конфигурирали филтър, който сравнява стойността, избрани в падащото списъчно поле (listBox1 поле) със списък със стойности в стандартен списъчното поле.
-
Щракнете върху OK три пъти, за да се върнете към диалоговия прозорец Свойства на списъчно поле .
-
Щракнете върху Избор на XPath до полето за стойност .
-
В диалоговия прозорец избор на поле или група изберете стойността, която искате да запишете, когато потребител направи селекция в списъчното поле. В този пример искаме да запишете ProductID поле за последващо използване. Следователно, ние изберете : ProductID група и след това щракнете върху OK.
-
Щракнете върху Избор на XPath до полето Показвано име .
-
В диалоговия прозорец избор на поле или група щракнете върху името на полето, което искате да се показват в списъчното поле (в този пример : ProductName).
-
Щракнете върху OK два пъти.
Тестване на списъчни полета
Сега, когато сте свързани втората списъчното поле към базата данни и приложен филтър, сте готови да тествате списъчни полета, за да се уверите, че те работят правилно.
-
За да тествате промените, щракнете върху Визуализация на лентата с инструменти Стандартни или натиснете CTRL+SHIFT+B.
-
Изберете стойност в полето на падащия списък. Стандартни списъчното поле трябва да показват подходящи стойности на процент, в зависимост от свързващите поле, което сте избрали.
Съвет: Ако списъчни полета не работят правилно, прегледайте филтърът за втората списъчното поле да се уверите, че тя да се сравнява listBox1 поле с поле за CategoryID .