Сделать переключатель в форме инфопата "только для чтения" - PullRequest
1 голос
/ 09 июня 2009

Я делаю форму InfoPath, которая связана с базой данных Access. У меня есть набор переключателей, где пользователь выбирает имя программного обеспечения, соответствующее форме, но я храню его в своей базе данных как число (1, 2 или 3). С другой стороны, я хочу, чтобы они могли видеть ранее введенное имя программного обеспечения, но не могли изменить это. Вот два варианта, о которых я подумал:

  1. Создать какое-то правило, которое не позволяет пользователю изменять эти данные

    Это похоже на естественный подход к тому, что я хочу сделать.

  2. Добавить текстовое поле с функцией, отображающей каждое число в соответствующее программное обеспечение

    Поскольку форма связана с базой данных, InfoPath хочет, чтобы все поля были связаны со значением базы данных, что потребовало бы создания другой записи базы данных. У меня также возникают проблемы с поиском функции InfoPath, которую я могу использовать для обработки этого отображения.

  3. Измените переменную радиоблока на текстовые значения и создайте текстовое поле в новом представлении, которое можно сделать доступным только для чтения.

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

Есть ли какое-то правило / метод, который я мог бы использовать, чтобы этот переключатель переключался только на чтение?

1 Ответ

3 голосов
/ 17 июня 2009

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

  1. Щелкните правой кнопкой мыши по вашему элементу управления и выберите Условное форматирование ...
  2. Нажмите Добавить ...
  3. В крайнем левом раскрывающемся списке выберите Выражение
  4. введите true () в текстовом поле (это говорит InfoPath всегда применять это форматирование)
  5. Установите флажок Отключить этот элемент управления .
  6. Нажмите OK и OK .

Примечание: вам нужно будет сделать это для каждой из ваших радиокнопок.

Кроме того, для дальнейшего использования: если вы просто хотите отобразить результат функции (например, в своем втором решении), вам не нужно использовать текстовое поле. Вы можете использовать поле выражения. Поле выражения не обязательно связано с полем в потоке данных, поэтому для него вам не понадобится дополнительный столбец в вашей базе данных.

...