一般情况下对IT管理者来说,在SharePointFarm中维护Feature,更喜欢使用命令行实现,这样可以省去登录到具体站点的操作。比如IT接到enduser的一个需求,要开启SiteCollectionFeature,如果直接操作......
2023-01-12
在SharePoint中,我们经常会需要获取那些改变的项目,其实api为我们提供了SPChange对象,下面,我们通过列表简单介绍下这一对象。
1、创建一个测试列表,名字叫做“SPChangeItems”,并插入测试数据,如下图:
2、删除ID为3的数据,并且修改ID为2的数据,为我们的后面测试做准备,如下图:
3、编写我们的代码,本例在控制台中,有需要可以封装WebPart或者application page,如下图:
4、执行结果,如下图:
我们可以看到我们,对话框中显示的添加、更新和删除数据的记录,这就是SPChange的应用,当然,这个不仅仅针对列表,还可以操作文档库、页面等其他,具体可以参考文后附的msdn链接;
5、附源代码
1 SPList list = web.GetList("Lists/SPChangeItems");
2
3 SPChangeQuery query = new SPChangeQuery(true, true);
4 SPChangeCollection changecoll = list.GetChanges(query);
5
6 foreach (SPChange change in changecoll)
7 {
8 if (change is SPChangeItem)
9 {
10 SPChangeItem changeitem = (SPChangeItem)change;
11
12 if (changeitem.ChangeType == SPChangeType.Delete)
13 {
14 Console.WriteLine(string.Format("ListName:{0},ItemId:{1}", list.Title, changeitem.Id.ToString()));
15 Console.WriteLine(string.Format("ChangeType:{0}", changeitem.ChangeType.ToString()));
16 }
17 else
18 {
19 try
20 {
21 SPListItem item = list.GetItemById(changeitem.Id);
22 Console.WriteLine(string.Format("ListName:{0},ItemId:{1},Title:{2}", list.Title, changeitem.Id, item.Title));
23 Console.WriteLine(string.Format("ChangeType:{0}", changeitem.ChangeType.ToString()));
24 Console.WriteLine();
25 }
26 catch { }
27 }
28 }
29 }
总 结
通过SPChange我们可以查询站点、视图、用户、列表、文件夹、用户组等等的修改,可以很方便的了解站点的变化。然后封装成WebPart或者Web Application Pages来进行展示,都是很方便的。
相关文章
一般情况下对IT管理者来说,在SharePointFarm中维护Feature,更喜欢使用命令行实现,这样可以省去登录到具体站点的操作。比如IT接到enduser的一个需求,要开启SiteCollectionFeature,如果直接操作......
2023-01-12
我们经常会在SharePoint网站集的权限列表中看到某个user有LimitedAccessPermission,但是我们都知道或者试过,在SharePointsitecollection中没有办法直接添加user赋予LimitedAccess权限,并且LimitedAccess这个......
2023-01-12
在这样的场景下,比如统计员工的个人信息,IT会在SharePoint中新建list,加一些需要填写的栏位,然后让公司员工登录填写。这时候比起大家都能看到彼此信息而言,从公司角度更想让员工只能......
2023-01-12
大多数企业使用SharePoint文档库时,都会建议EndUser在编辑文档前先做CheckOut动作,这样可以保证文档在当前用户编辑过程中,其他人只能view而不能edit,防止多人同时修改同一文件互相影响的......
2023-01-12
为了记录SharePointLibrary/List中file/Item的修改情况,ITAdministrator会在List/Library的VersionSettings中开启Version管控设置。之后用户每次编辑item/file保存就会生成一个新的version记录,这样我们就会知道......
2023-01-12