2009-10-28 2 views
0

Я работаю над формой InfoPath 2007. У меня есть два раскрывающихся списка, и мне нужно, чтобы второе заполнялось базами элементов по значению, выбранному в первом списке. Я использую C# для заполнения списков drop-dpwn из внешних источников. Я попытался использовать событие OnChange, чтобы сделать все это, но второй список по-прежнему пуст.InfoPath 2007 - Выпадающий список Population on-fly

Если кто знает, скажите, пожалуйста.

ответ

2

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

  1. Привести окно свойств для вашего второго раскрывающегося списка.
  2. Выберите источник данных.
  3. Нажмите на кнопку справа от текстового поля «Входы».
  4. Выберите повторяющийся узел, который вы хотите использовать, в основе записи вашего списка.
  5. Нажмите Данные фильтра button. Отсюда вы можете ввести фильтр, чтобы ограничить отображаемые записи в зависимости от значения вашего первого раскрывающегося списка.

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

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