Фільтрація даних в елементах управління

Загальні відомості

При створенні шаблону форми Microsoft Office InfoPath можна використовувати фільтри для обмеження числа варіантів при заповненні форми на основі цього шаблону. Фільтром називається набір умов, які застосовуються до даних для відображення будь-якої їх частини. Фільтри дозволяють виводити підмножина даних з джерела, що зменшує кількість записів, що відображаються в елементі управління.

Використовуйте фільтри, якщо потрібно виводити підмножина даних, що повертаються запитом, який заснований на обраних користувачем умовах. Умовами може бути елемент, обраний в іншому елементі управління (такому як список, поле зі списком, що розкривається або текстове поле), прив'язаним до полю в джерелі даних.

Розглянемо створення шаблону форми, який буде використовуватися для обліку продукції декількох постачальників. Якщо буде відображатися вся продукція всіх постачальників, список може вийти дуже довгим. Для вирішення цієї проблеми можна використовувати фільтр, який дозволить користувачам вибирати постачальника зі списку і переглядати тільки його продукцію. Коли користувач вибирає постачальника зі списку, в повторюваної таблиці застосовується фільтр для відображення лише продуктів обраного постачальника. Якщо користувач вибирає іншого постачальника, що повторюється таблиця оновлюється і в ній відображаються продукти іншого постачальника.

Порада: Якщо відомо, що користувачам буде необхідно певну підмножину даних, повернутих запитом, можна змінити запит таким чином, щоб він повертав тільки необхідну підмножина, замість того щоб застосовувати фільтр до всього набору даних. Оскільки запит буде повертати лише необхідні дані із зовнішнього джерела, форма буде завантажуватися швидше.

Щоб показати користувачам, що до даних застосований фільтр, при наведенні на них покажчика виводиться значок фільтра.

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

Поля зі списком

Можливість сумісності.

Фільтри можна застосовувати тільки в шаблонах форм, створених для заповнення в InfoPath. Вони недоступні в шаблонах форм з підтримкою веб-браузера. Якщо в шаблоні форми з підтримкою веб-браузера використовуються списки або повторювані таблиці, замість фільтрів можна застосувати умовне форматування. Посилання на докладніші відомості про використання умовного форматування наведені в розділі Див. Також.

Установка фільтра для списку, списку або поля зі списком

Для настройки фільтра для списку потрібна наявність в шаблоні форми списку, списку або поля зі списком, прив'язаного до джерела даних через підключення до даних. Неможливо фільтрувати дані, введені в елемент управління вручну за допомогою діалогового вікна Властивості: Елемент управління.

Установка фільтра для списку, списку або поля зі списком

Клацніть правою кнопкою елемент управління, який потрібно змінити, а потім в контекстному меню виберіть Елемент управління: властивості.

Перейдіть на вкладку Дані.

Виконайте одну з таких дій.

Щоб скористатися стандартними налаштуваннями з джерела даних виберіть Підставити значення з джерела даних форми.

Щоб скористатися стандартними налаштуваннями з підключення до даних виберіть Шукати значення в зовнішньому джерелі даних. а потім в списку Джерело даних виберіть потрібне підключення до даних.

Натисніть кнопку Вибрати XPath поруч з полем Елементи.

У діалоговому вікні Вибір поля або групи клацніть поле або групу, яка містить поля зі значеннями для елемента управління, і потім натисніть кнопку Фільтрація даних.

У діалоговому вікні Фільтрація даних натисніть кнопку Додати.

Примітка: Щоб додати умова до наявного фільтру, виберіть потрібний фільтр і натисніть кнопку Змінити.

У першому полі діалогового вікна Завдання умов фільтра клацніть ім'я поля, дані в якому потрібно відфільтрувати.

У другому полі виберіть потрібний тип фільтра.

У третьому полі виберіть необхідний тип умови для фільтра, а потім введіть умова.

Щоб налаштувати декілька умов, натисніть кнопку І. а потім виконайте одну з таких дій:

Щоб застосовувати фільтр тільки в тому випадку, коли виконуються існуюче умова і нову умову, виберіть пункт і і додайте нову умову.

Щоб застосовувати фільтр в тому випадку, коли виконуються хоча б одна з умов, виберіть пункт або і додайте нову умову.

Натисніть кнопку ОК. щоб закрити діалогові вікна.

Фільтр працює неправильно

Якщо в елементі управління з фільтром відображаються неправильні значення (їх занадто багато або мало), спробуйте скористатися як описано нижче.

Якщо в фільтрі використовується кілька умов, видаліть всі умови, крім одного, і перевірте, чи правильні повертаються значення. Якщо перша умова повертає правильні значення, додайте ще одну умову і повторіть перевірку.

У фільтрах враховується регістр. Якщо ви хочете відобразити дані, які починаються з символу у верхньому або нижньому регістрі, створіть фільтр з великої літери в умови, виберіть або в діалоговому вікні Завдання умов фільтра. а потім створіть умова для малої літери.

Якщо значення протилежні очікуваним, наприклад виводяться продукти всіх постачальників замість продукції одного постачальника, змініть тип фільтра в умови. Наприклад, якщо в умові використовується тип фільтра одно і виводиться занадто багато продуктів, спробуйте використовувати тип фільтра не дорівнює.

Установка фільтра для повторюваного розділу або повторюваної таблиці

Щоб задати фільтр для повторюваного розділу або повторюваної таблиці, потрібно включити в шаблон форми розділ або таблицю, які задовольняють таким умовам:

Повторюваний розділ чи актуальна таблиця прив'язані до повторюваного поля або повторюваної групи.

Повторюваний розділ чи актуальна таблиця містить принаймні один елемент управління, прив'язаний до поля з підключенням до даних.

Наприклад, можна використовувати елемент управління "Текстове поле" в періодичному розділі для відображення даних в поле.

Установка фільтра для повторюваного розділу або повторюваної таблиці

Клацніть правою кнопкою миші підпис Періодична таблиця або повторюваний розділ в нижній частині таблиці або розділу в шаблоні форми, а потім в контекстному меню виберіть команду Властивості: Елемент управління.

Перейдіть на вкладку Відображення.

Натисніть кнопку Фільтрація даних.

У діалоговому вікні Фільтрація даних натисніть кнопку Додати.

Примітка: Щоб додати умова до наявного фільтру, виберіть потрібний фільтр і натисніть кнопку Змінити.

У першому полі діалогового вікна Завдання умов фільтра клацніть ім'я поля, дані в якому потрібно відфільтрувати.

У другому полі виберіть потрібний тип фільтра.

У третьому полі виберіть необхідний тип умови для фільтра, а потім введіть умова.

Щоб налаштувати декілька умов, натисніть кнопку І. а потім виконайте одну з таких дій:

Щоб застосовувати фільтр тільки в тому випадку, коли виконуються існуюче умова і нову умову, виберіть пункт і і додайте нову умову.

Щоб застосовувати фільтр в тому випадку, коли виконуються хоча б одна з умов, виберіть пункт або і додайте нову умову.

Натисніть кнопку ОК два рази, щоб закрити всі діалогові вікна та повернутися до діалогового вікна Властивості: Елемент управління.

Щоб відображати особливий значок фільтра. показує, що дані в періодичному розділі або таблиці відфільтровані, виберіть варіант Використовувати значок фільтра для позначення відібраних елементів на вкладці Відображення діалогового вікна Властивості: Елемент управління.

Фільтр працює неправильно

Якщо в елементі управління з фільтром відображаються неправильні значення (їх занадто багато або мало), спробуйте скористатися як описано нижче.

Якщо в фільтрі використовується кілька умов, видаліть всі умови, крім одного, і перевірте, чи правильні повертаються значення. Якщо перша умова повертає правильні значення, додайте ще одну умову і повторіть перевірку.

У фільтрах враховується регістр. Якщо ви хочете відобразити дані, які починаються з символу у верхньому або нижньому регістрі, створіть фільтр з великої літери в умови, виберіть або в діалоговому вікні Завдання умов фільтра. а потім створіть умова для малої літери.

Якщо значення протилежні очікуваним, наприклад виводяться продукти всіх постачальників замість продукції одного постачальника, змініть тип фільтра в умови. Наприклад, якщо в умові використовується тип фільтра одно і виводиться занадто багато продуктів, спробуйте використовувати тип фільтра не дорівнює.

Схожі статті