2012-05-31 68 views
3

我想抓住listviews上的保存事件,而不是列表本身。这样我就可以停止保存某些视图。SharePoint 2010列表视图保存事件

我试过列表SPListEventReciever,但这似乎只捕获列表本身,而不是视图的事件。

编辑:正如在下面的评论中提到的,试图阻止人们保存的视图是外部列表上的默认视图。

+1

你可以提供更多关于你想防止什么样的意见的细节吗?简短的答案是否定的,没有你可以截取的事件,但如果你给我们更多的细节,我们可能会想出一个替代解决方案。 – Rawling

+0

特定视图是标记为快速启动的外部列表上的默认视图(公共)。 迄今为止的所有证据都表明它不可能,但是我认为在我放弃之前我可能会给这个机会。 – ruffen

+0

哦,所以你希望人们能够创建自己的视图,但不能改变现有的默认视图? – Rawling

回答

1

在你的情况,我会尝试以下方法:

  • 删除普通用户在所有修改的列表(如果这是可以接受的)权限。这应该仍然让他们创造个人意见。
  • 编写将个人视图,分析它(删除它?)和(使用提升权限)创建相应的公共视图的代码。 (不幸的是,您不能只更改PersonalView属性。)请注意捕获用户在创建视图UI时可以执行的所有操作 - 这将是最棘手的部分。
    • 选择写类似的代码,允许以公共回切换到个人(检查它不是默认视图或你想要保护任何其他视图。)
    • 可选跟踪谁“拥有”这些自定义视图之一,例如隐藏列表中,并且只允许所有者将视图恢复为个人视图。
  • 为此代码编写接口,例如,允许用户从相关视图中选择的应用程序页面,或者功能区上的自定义操作。
相关问题