InfoPath 2007 - Заполните раскрывающийся список на лету - PullRequest
0 голосов
/ 28 октября 2009

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

Если кто-нибудь знает, пожалуйста, скажите мне.

1 Ответ

2 голосов
/ 05 ноября 2009

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

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

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

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