SharePoint 2010 创建审批视图

        需求有个开启了内容审批功能的列表,需要在一个视图的数据表视图中进行数据批量处理,其中的其他视图都被作为其他用途使用且不可进行修改,所以必须新建一个视图。

        过程首先尝试创建了一个公共视图,但是在选择数据表视图后,发现该视图为只读模式(尝试编辑后提示字段为只读,再尝试多个字段后发现都为只读,后来在视图的左下角发现此视图提示:“此视图为只读”),点击视图提示的“此视图为只读”后,从弹出的帮助文档中发现原因:该列表开启了内容审批,公共视图的数据表视图都为只读模式,裁决视图(默认只有“批准/拒绝项目”和“我提交的项目”视图)才能在数据表视图中进行编辑。虽然遭遇到了挫折,但是仍然有信心,继续努力前进。重新打开新建视图页面,没有发现任何选项可以选择创建审批模式的视图,难道在编辑视图中,带着这样的侥幸心理,进入该视图的编辑界面,仍然一无所获。咱们还有高级编辑工具,带着这样的想法,打开了sharepoint designer,进入列表,点击“新建视图”,比浏览器界面的还要简单:只有一个视图名。。。,查找完sharepoint designer中的所有设置,都没有发现可以将该视图修改为审批视图的设置。真让人伤心,难道真的不能创建审批视图吗,微软不至于连这个也没考虑到吧。奋斗要现在,需要喝杯水,冷静冷静,好好思考一下。难道在页面代码中进行设置,这样的念头突然在我脑子里闪现出来。有思路了,继续奋斗。用sharepoint designer打开“我提交的项目”视图(糊里糊涂打开了这个视图,导致后面悲剧了好久)和自己新建的视图。对比了一会儿,发现在“我提交的项目”视图中的节点中有这么一个属性:ModerationType="Contributor"。有可能是它,可以尝试一下。于是,我把这个属性拷贝到自己新建的视图中,保存后在IE打开该视图的数据表视图,终于可以编辑了,心里那个乐,差点儿笑出声来。再查看这些视图,发现该视图已经在裁决视图组里了。准备开始编辑其中一些ListItem中的内容。我的Item呢?怎么少了这么多?打开该视图的标准视图,有这么多Item;再打开该视图的数据表视图,真的没有了。真让人抓狂。难道是那个属性惹的祸?好吧,测试一下。去掉ModerationType="Contributor"这个属性,保存视图后再次在IE中打开,发现数据又回来了。气死我了,难道真的实现不了吗?老子跟你耗上了。上网查查资料“SharePoint 2010 数据表视图 只读”,百度之后没有一个提到这个问题的。难道到目前为止只有我一个人有这样的需求吗?我相信功夫不会负有心人的,继续努力,百度下ModerationType="Contributor"这个属性,也没有专门提到这个事情的,不过在dxfswpi的MSDN博客中看着这么一段话:

    在使用允许审批的列表的时候,获取列表条目时会有一些不同。使用SPList.Items属性只能获得该列表中状态为“已通过”的那些列表条目,要获得其他条目,则必须通过“我的提交”或“审批视图”这两个视图,使用SPList.GetItems方法来取得。开启了审批的列表都会有这两个视图存在,这两个视图SPView对象的ModerationType属性分别为“Contributor”和“Moderator”,表明属于哪一个审批的视图。

原来这个属性有两个属性值,难道我用错了?在sharepoint designer中打开“批准/拒绝项目”视图,发现其中该属性的属性值确实不为Contributor,而是Moderator。一下子恍然大悟,“我提交的项目”视图中显示的只是我提交的内容,而“批准/拒绝项目”视图中显示的是所有提交的内容,所以之前我看到的内容少了那么多。修改自己创建的视图中的该属性的属性值为Moderator,保存后打开该视图的数据表视图,数据都出来了,而且都可以进行编辑了。至此,该视图创建成功。休息下之后开始修改其中的数据的值。


希望该文章能帮到同样遇到该问题的人。

支持原创,希望大家把自己亲身遇到的问题和自己的亲身处理经历写出来和大家分享。



你可能感兴趣的:(SharePoint,2010)