【问题标题】:Make a radio button in an infopath form "read only"?将信息路径表单中的单选按钮设为“只读”?
【发布时间】:2014-09-20 21:23:38
【问题描述】:

我正在制作一个与 Access 数据库绑定的 InfoPath 表单。我有一组单选按钮,用户可以在其中选择与表单对应的软件名称,但我将其作为数字(1、2 或 3)存储在我的数据库中。在另一个视图中,我希望他们能够看到之前输入的软件名称,但不能更改它。以下是我想到的两个选项:

  1. 创建一些阻止用户更改此数据的规则

    这似乎是我想做的事情的自然方法。

  2. 添加一个文本字段,其中包含将每个数字映射到相应软件的函数

    由于表单与数据库相关联,InfoPath 希望所有字段都与数据库值相关联,这需要创建另一个数据库条目。我也找不到可用于处理此映射的 InfoPath 函数。

  3. 将单选框的变量更改为文本值,并在新视图中创建一个文本框,可以将其设置为只读。

    我真的不想这样做,因为它会使使用此数据库值的其他程序变得更加混乱,并且看起来很浪费,但如果没有其他方法,这似乎是可行的。

我可以使用某种规则/方法来将此单选按钮控件设为只读吗?

【问题讨论】:

    标签: forms ms-access radio-button infopath


    【解决方案1】:

    您可以使用条件格式来禁用任何控件(包括单选按钮)。 要将控件设置为始终禁用,请执行以下操作:

    1. 右键单击您的控件并选择条件格式...
    2. 点击添加...
    3. 在最左边的下拉菜单中选择表达式
    4. 在文本字段中键入 true()(这告诉 InfoPath 始终应用此格式)
    5. 选中禁用此控件复选框。
    6. 点击确定确定

    注意:您需要为每个单选按钮执行此操作。

    另外,供将来参考:如果您只是想显示函数的结果(例如在您的第二个解决方案中),则不需要使用文本框。您可以使用表达式框。表达式框不一定要链接到数据源中的字段,因此您不需要在数据库中为其添加额外的列。

    【讨论】:

    • 阅读这篇文章很晚,但是为什么您需要在每个单选按钮上执行此操作,而不是对它们作为子控件的选项组执行此操作?如果父选项组被禁用,它的所有子控件也会被禁用。
    猜你喜欢
    • 2018-05-04
    • 2010-09-23
    • 2012-06-05
    • 2010-12-29
    • 2018-12-20
    • 1970-01-01
    • 2013-10-03
    • 2010-12-21
    相关资源
    最近更新 更多