以infopath形式制作单选按钮“只读”?

时间:2009-06-09 15:21:26

标签: forms ms-access radio-button infopath

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

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

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

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

    由于表单与数据库绑定,因此InfoPath希望将所有字段绑定到数据库值,这需要创建另一个数据库条目。我也无法找到可用于处理此映射的InfoPath函数。

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

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

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

1 个答案:

答案 0 :(得分:3)

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

  1. 右键单击您的控件并选择条件格式...
  2. 点击添加...
  3. 在最左侧的下拉列表中选择表达式
  4. 在文本字段中输入 true()(这告诉InfoPath始终应用此格式)
  5. 选中禁用此控件复选框。
  6. 点击确定确定
  7. 注意:您需要为每个单选按钮执行此操作。

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