Любой способ добавить вставить несколько строк данных в повторяющуюся таблицу InfoPath? - PullRequest
1 голос
/ 23 октября 2009

Мои пользователи используют Excel для составления специальных списков зданий, которыми мы владеем. Я создаю форму InfoPath для управления контрактами на эти здания. Я ищу способ, позволяющий моим пользователям указывать нужные здания в Excel и вставлять этот список в элемент управления «Повторяющаяся таблица» формы InfoPath.

Таблица имеет несколько полей; пользователи выбирают столбец «Идентификатор здания» в своей электронной таблице, вставляют его в поле «Идентификатор здания» в повторяющейся таблице, а затем форма InfoPath ищет оставшуюся информацию о здании из источника данных, привязанного к элементу управления, используя идентификатор здания в качестве ключ.

Часть поиска Повторяющейся таблицы в настоящее время работает: пользователь может ввести (набрав или вставив из Excel) один идентификатор здания, нажать клавишу Tab, и таблица выполнит поиск остальной информации. Затем они могут вставить новую строку и ввести второй идентификатор здания, вспенить, промыть, повторить. Это хорошо для нескольких зданий - но не для десятков или сотен. Поэтому я ищу способ вставить их в список и заполнить таблицу оттуда.

Если они не могут вставить непосредственно в повторяющуюся таблицу, могу ли я вставить их в многострочный текстовый элемент управления, а затем проанализировать это с помощью выражения XPath? Как бы выглядел этот XPath? Одно последнее ограничение: отсутствие кода для C # или VB - на данный момент мы решили, что логика развертывания форм с кодами - это слишком много для текущего проекта.

Любая помощь приветствуется ...

Ответы [ 2 ]

0 голосов
/ 23 октября 2009

Если вы извлекаете исходные файлы из infopath, одним из документов будет файл template.xml. это будет содержать данные для вашей формы infopath. Используйте макрос Excel, чтобы открыть шаблон в виде XML-документа и добавить данные из электронной таблицы Excel. Затем вы можете позволить пользователю открыть файл самостоятельно или открыть его для них. Просто способ обойтись без кода.

0 голосов
/ 23 октября 2009

Единственная проблема, с которой я сталкиваюсь (в основном из-за того, что это решение не может включать codebehind), заключается в том, что нет правил Infopath, которые можно использовать для динамического добавления дополнительных узлов в повторяющуюся группу (что и является повторяющаяся таблица обязательна.)

Единственный способ создать дополнительные записи в повторяющейся таблице - пользователь может вручную нажать вкладку «Вставить дополнительную строку» в нижней части таблицы.

Я бы настоятельно рекомендовал использовать codebehind, чтобы пользователь мог вставить свои данные Excel с разделителями табуляции из буфера обмена в поле; проанализировать его на стороне сервера; и использовать эти данные вместе с подпрограммой для доступа к MainDataSource формы и таким образом добавить дополнительные строки.

...