Запретить удаление строки в повторяющейся таблице Infopath 2010

3696
Gabe

Как я могу предотвратить удаление пользователем каких-либо строк в Infopath? Я просто хочу, чтобы они могли добавлять новые строки и делать обновления.

1

1 ответ на вопрос

2
Ƭᴇcʜιᴇ007

Я не думаю, что вы можете ... Обычно разрешения на изменение и / или добавление («редактировать») означает, что вы также можете удалить (так как вы всегда можете отредактировать его как пустое / пустое).

Вот ваш выбор разрешений в соответствии с интерактивной справкой MS Office :

Пользователям или группам может быть предоставлен набор разрешений в соответствии с уровнями доступа, назначенными им авторами с помощью диалогового окна «Разрешения», как показано в следующем списке:

  • Чтение : пользователи с доступом для чтения могут читать форму, но у них нет разрешения на редактирование, печать или копирование формы.
  • Изменение : пользователи с правами изменения могут читать, редактировать и сохранять изменения в форме, но у них нет разрешения на печать формы.
  • Полный доступ. Пользователи с полным доступом имеют полный доступ к авторизации и могут делать с формой все, что может сделать автор формы, например устанавливать даты истечения срока действия для содержимого, запрещать печать и предоставлять разрешения пользователям. Авторы форм всегда имеют полный доступ.

Из форумов infopathdev.com :

Если вы хотите предотвратить удаление данных в элементах повторяющейся таблицы, есть несколько способов:

  1. Отключить вставки и удаление таблицы

    TODO: дважды щелкните синюю кнопку в повторяющейся таблице в конструкторе и снимите флажок, чтобы разрешить вставку и удаление. Плюсы: легко сделать Минусы: сложный

  2. Сделать поля доступными только для чтения

    TODO: дважды щелкните по ячейкам в каждом столбце и проверьте доступность только для чтения на вкладке Display. Плюсы: легко сделать Минусы: невозможно добавить данные в ячейки, но строки по-прежнему можно вставлять или удалять

  3. Отключить вставки и удаления, используя условие

    TODO: дважды щелкните синюю кнопку повторяющейся таблицы в конструкторе и добавьте правило условного форматирования, чтобы отключить вставку / удаление. Плюсы: легко сделать, вы можете использовать условие выражения «1 = 1», чтобы оно всегда было верно. Минусы: только хорошо только для чтения, но вы можете добавить кнопку для добавления новых элементов, если вы используете qRules

  4. Сделать ранее введенные строки только для чтения

    TODO: добавить правило условного форматирования, которое делает значение доступным только для чтения на основе некоторого условия (например, уже введенных данных). Плюсы: поддерживает ввод новых данных. Минусы: последняя строка редактируется до добавления новой строки, полусложный xpath требуется для сравнить текущий индекс строки с количеством таблиц, чтобы позволить ввод новых данных, но легко

Разве нельзя использовать правила или мне приходится прибегать к пользовательскому коду? Я удивлен, что они не сделали его более настраиваемым. Я смотрю на http://www.infopathdev.com/forums/t/16814.aspx, который полезен. Gabe 13 лет назад 0
Прошло много времени с тех пор, как я использовал InfoPath, но я уверен, что «Правила» применяются к самим формам (правила, которым следует форма, когда появляется «X»), и не имеют ничего общего с доступом пользователей к изменению форм. Ƭᴇcʜιᴇ007 13 лет назад 0
Я имею в виду повторяющуюся таблицу, когда они заполняют форму (а не проектируют ее). Они могут удалить данные слишком легко. Я собираюсь удалить таблицу и просто показывать по одной записи за раз. Gabe 13 лет назад 0
Я думаю, что ссылки, которые вы указали, вероятно, ваши лучшие ставки. Ƭᴇcʜιᴇ007 13 лет назад 0
Я добавил информацию из этой ссылки в свой ответ, ради будущих пользователей. Извините, я не могу придумать что-то проще для вас. :( Ƭᴇcʜιᴇ007 13 лет назад 0

Похожие вопросы