formservice 同一视图中多个重复表格存在的问题
   
【预备】
<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
我们在设计表单模板时经常会用到如上图所示的重复表。
填写时注意到当前选中行左边会有一个小三角(不选中,将鼠标移动上方也会出现灰色的按钮),点击小三角,会出现菜单:
点击菜单中相应选项,可以为重复表添加或删除行。之所以会出现这样的按钮,是我们在设计表单模板时,重复表控件的默认设置如下图所示:
其中的“允许用户插入和删除行”即是控制上面说的小三角按钮是否显示的。如果把这个选项前面的勾去掉,则界面中就不会出现上面说的小三角按钮。
如果在同一视图中仅添加一个绑定在该数据源上的重复表,这样的选项设置是可以控制的没错,但是如果在同一视图中添加多个绑定在同一数据源上的重复表就会出现问题了
【问题背景】
之所以会出现这样的想法也是项目中遇到的问题,简单的说,该项目的实际情况要求在同一视图里放两个绑在同一个数据源上的重复表,一个用来填写,一个用来显示不允许填写。
【详细说明】
也就是说,这两个重复表,一个要允许插入和删除行,另一个不允许,在重复表属性中设置之后,我在预览中看到确实达到了我想要的效果:
将鼠标点到允许填写的表格中,选中行左边会出现小三角按钮,同时鼠标移动下面的表格上方不会出现按钮。

 

但当表单发布到 sharepoint 上,在网页上填写表单时则出现了问题:
这种情况下,虽然我在模板中设置了不“允许用户插入和删除行”,但仍然会出现小三角按钮,点击按钮也仍然会出现菜单。
另外,此时若填写的多条信息,下面实时显示的信息也不正确:

 

【问题分析】在客户端预览没有问题,发布到 formservice 出现混乱,应该是在 formservice 渲染表单页面的时候有些许 bug…

 

【题外话】
实际项目中,因为找不到解决方法 我只能通过其它方法避免绑在同一数据源上的两个重复表出现在同一视图里 此项目中我还添加了一些代码,所以在更新调试上都非常的麻烦,开始还一直以为是自己设置错了,折腾来折腾去,结果浪费了不少时间,搞得自己几近崩溃 写出来希望能帮大家节约一些折腾的时间,另外如果有人知道如何解决,也希望指点下哈 ~~