在SharePoint中,我们经常会需要获取那些改变的项目,其实api为我们提供了SPChange对象,下面,我们通过列表简单介绍下这一对象。

  1、创建一个测试列表,名字叫做“SPChangeItems”,并插入测试数据,如下图:

  2、删除ID为3的数据,并且修改ID为2的数据,为我们的后面测试做准备,如下图:

  3、编写我们的代码,本例在控制台中,有需要可以封装WebPart或者application page,如下图:

  4、执行结果,如下图:

  我们可以看到我们,对话框中显示的添加、更新和删除数据的记录,这就是SPChange的应用,当然,这个不仅仅针对列表,还可以操作文档库、页面等其他,具体可以参考文后附的msdn链接;

  5、附源代码

 SPList list = web.GetList("Lists/SPChangeItems");

 SPChangeQuery query = new SPChangeQuery(true, true);
SPChangeCollection changecoll = list.GetChanges(query); foreach (SPChange change in changecoll)
{
if (change is SPChangeItem)
{
SPChangeItem changeitem = (SPChangeItem)change; if (changeitem.ChangeType == SPChangeType.Delete)
{
Console.WriteLine(string.Format("ListName:{0},ItemId:{1}", list.Title, changeitem.Id.ToString()));
Console.WriteLine(string.Format("ChangeType:{0}", changeitem.ChangeType.ToString()));
}
else
{
try
{
SPListItem item = list.GetItemById(changeitem.Id);
Console.WriteLine(string.Format("ListName:{0},ItemId:{1},Title:{2}", list.Title, changeitem.Id, item.Title));
Console.WriteLine(string.Format("ChangeType:{0}", changeitem.ChangeType.ToString()));
Console.WriteLine();
}
catch { }
}
}
}

总  结

  通过SPChange我们可以查询站点、视图、用户、列表、文件夹、用户组等等的修改,可以很方便的了解站点的变化。然后封装成WebPart或者Web Application Pages来进行展示,都是很方便的。

参考链接

  http://msdn.microsoft.com/zh-cn/library/microsoft.sharepoint.spchange(v=office.15).aspx

Sharepoint 2013 关于"SPChange"简介的更多相关文章

  1. SharePoint 2013 "通知我"功能简介

    功能简介 "通知我"主要是在列表或者文档库里面的项目,有添加/删除/修改等操作,发送邮件通知设置的用户的功能:可以针对列表或者文档库设置通知,也可以针对单一项目设置通知功能,是Sh ...

  2. SharePoint 2013 日历重叠功能简介

    之前做了一个“SharePoint 2013 日历根据Category显示不同颜色”,然后大家留言说为什么不用SharePoint自带的日历重叠功能,所以自己尝试一下这个功能,和之前的博客进行一下对比 ...

  3. SharePoint 2013 REST 服务使用简介

    1.创建测试使用列表”REST Demo”,插入一些测试数据,如下图: 2.添加内容编辑器,并且添加脚本引用以及HTML代码,如下图: Result的Div为显示结果使用,input标签触发REST服 ...

  4. SharePoint 2013 跨网站集发布功能简介

    在SharePoint Server 2013网站实施中,我们经常会遇到跨网站集获取数据,而2013的这一跨网站集发布功能,正好满足我们这样的需求. 使用SharePoint 2013中的跨网站发布, ...

  5. SharePoint 2013 图文开发系列之WebPart

    这是我们介绍SharePoint开发入门的第一篇,在这一篇里,我们会介绍SharePoint开发的几个关键物理路径,一些开发技巧和最基础的WebPart开发. 开发工具 在SharePoint 201 ...

  6. SharePoint 2013 图文开发系列之定义站点模板

    SharePoint站点模板是一个非常好的功能,方便我们开发一类网站,然后在此基础上做二次开发,对于SharePoint的使用,有着举足轻重的作用. 因为篇幅比较长,所以加上目录,方便大家查看: 一. ...

  7. SharePoint 2013 托管导航及相关配置

    设计完善的导航可告诉您网站的用户大量有关网站所提供业务.产品和服务的信息.通过更新导航背后的分类法,可以推动业务并保持更新,而不必在过程中重新创建其网站导航.在 SharePoint 2013 中,可 ...

  8. SharePoint 2013 Excel Services ECMAScript 示例之明日限行

    前言:最近遇到一个“明日限行”的功能,北京的交通啊,这个不在今天讨论范围内,暂不吐槽,想想代码开发,还要写WebPart部署,很麻烦,而且部署服务器,需要领导审批,想绕过这个麻烦事儿,就想到客户端了, ...

  9. SharePoint 2013 中的 PowerPoint Automation Services

    简介                许多大型和小型企业都将其 Microsoft SharePoint Server 库用作 Microsoft PowerPoint 演示文稿的存储库.所有这些企业在 ...

随机推荐

  1. LevelDB(v1.3) 源码阅读之 Slice

    LevelDB(v1.3) 源码阅读系列使用 LevelDB v1.3 版本的代码,可以通过如下方式下载并切换到 v1.3 版本的代码: $ git clone https://github.com/ ...

  2. mono+jexus 之连接数据库

    System.ArgumentException Unable to find the requested .Net Framework Data Provider. It may not be in ...

  3. SLAM中的EKF,UKF,PF原理简介

    这是我在知乎上问题写的答案,修改了一下排版,转到博客里.   原问题: 能否简单并且易懂地介绍一下多个基于滤波方法的SLAM算法原理? 目前SLAM后端都开始用优化的方法来做,题主想要了解一下之前基于 ...

  4. js类(继承)(一)

    //call() //调用一个对象的一个方法,以另一个对象替换当前对象. //call([thisObj[,arg1[, arg2[,   [,.argN]]]]]) //参数 //thisObj / ...

  5. Android应用安全之外部动态加载DEX文件风险

    1. 外部动态加载DEX文件风险描述 Android 系统提供了一种类加载器DexClassLoader,其可以在运行时动态加载并解释执行包含在JAR或APK文件内的DEX文件.外部动态加载DEX文件 ...

  6. Java知多少(112)数据库之删除记录

    删除数据表也有3种方案 一.使用Statement对象 删除数据表记录的SQL语句的语法是: delete from 表名 where 特定条件 例如 : delete from ksInfo whe ...

  7. ArcGIS平台中PostgreSQL数据连接配置总结

    通常用户在使用要素服务时,要求数据必须是存放在空间数据库中的.同时,需要将数据库注册到ArcGIS for Server,这样在发布服务时就不需要进行数据拷贝,从而可以节省磁盘空间及服务发布时间.以下 ...

  8. Network - 对比net-tools与iproute2

    net-tools VS iproute2 net-tools与iproute2大比较

  9. js-DOM控制HTML

    一. dom对象控制html    HTML DOM 是 W3C 标准(是 HTML 文档对象模型的英文缩写,Document Object Model for HTML).    HTML DOM ...

  10. 五、Request

    1.      Request 由于python函数所有变量都没有显示类型声明,特别是函数的输入参数,输出参数,因此在阅读代码时会造成比较大的困扰,比如大部分处理函数都有request输入参数,不同模 ...