Любой способ добавить вставить несколько строк данных в повторяющуюся таблицу InfoPath?

StackOverflow https://stackoverflow.com/questions/1610373

  •  05-07-2019
  •  | 
  •  

Вопрос

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

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

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

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

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

Это было полезно?

Решение

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

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

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

Другие советы

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top