从XSD创建的InfoPath表单:下拉空值“选择”

时间:2011-07-25 08:42:23

标签: xsd infopath infopath2010

我创建了一个XSD,然后基于此XSD创建了一个InfoPath表单(2010)。一切都很好,但我对枚举有一点问题。 为了创建枚举,我创建了一个简单的类型,例如:

<xs:simpleType name="weekday">
    <xs:restriction base="xs:string">
      <xs:enumeration value="MA"/>
      <xs:enumeration value="DI"/>
      <xs:enumeration value="WO"/>
      <xs:enumeration value="DO"/>
      <xs:enumeration value="VR"/>
      <xs:enumeration value="ZA"/>
      <xs:enumeration value="ZO"/>
    </xs:restriction>
  </xs:simpleType>

当我在InfoPath中创建一个下拉列表时,它会自动创建一个包含这些值的下拉列表和一个显示名称为“Select ...”的空值 但是,我希望“Select ...”成为荷兰语翻译,即“Selecteer ......”。当我更改选择值时,我收到错误“指定的值无效”(即使我什么都没改变)

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,在没有编辑原始xsd的情况下找不到简单的修复方法。

什么对我不起作用:

  • 通过“属性”窗口修改“选择...”选项
  • 尝试通过将绑定源交换到另一个(可为空)字段来欺骗InfoPath,然后更改“选择...”文本,然后交换绑定(InfoPath将文本还原为其原始值!)

我能找到的最差的解决方法是:

  • 在您的工作日xsd类型中添加空白枚举:<xs:enumeration value=""/>
  • 在“数据”选项卡中,“刷新字段”以利用新的xsd
  • 然后在下拉列表中添加新的验证规则,以确保选择工作日值;即条件:“为空白”,屏幕提示:“不能为空白”。

在您的下拉菜单中,您现在可以将“选择...”显示文字修改为您心中的内容,同时将工作日保留为必填字段。

如果您真的想要,则可以将xsd恢复为原始格式,刷新字段并删除规则....下拉菜单仍会保留您的自定义默认文字。