我在 InfoPath 表单中有几个重复表。基本上每个都列出了一堆字符串,旁边有复选框。当用户单击提交时,我想确保每个重复表至少有一个复选框已被勾选。
我正在为表编写一个验证事件处理程序,它将一个验证变量设置为真或假,但我意识到主数据源在验证和更改事件时是只读的。
在提交表单之前,我将如何检查重复表中是否已勾选某些内容?
[注意] 我使用重复表而不是多选控件,因为表单必须与浏览器兼容。
提前致谢
我认为您有两个选择(这些只是我的想法/实际上并没有构建类似的表单解决方案)。
1) 构建一个 XPath 表达式,该表达式将评估您的复选框是否已被选中。比向您的表单添加一个隐藏节点(一个未绑定到 w 视图中的控件的节点),并将此验证属性添加到它。
2)继续编写您的事件处理程序,在代码中运行您的自定义验证逻辑后取消提交事件。
http://msdn.microsoft.com/en-us/library/microsoft.office.infopath.formevents.submit(VS.80).aspx