zoukankan      html  css  js  c++  java
  • Sharepoint 2013 关于"SPChange"简介

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

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

    clip_image002

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

    clip_image004

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

    clip_image006

      4、执行结果,如下图:

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

    clip_image008

      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来进行展示,都是很方便的。

    参考链接

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

  • 相关阅读:
    Linux 网络编程六(socket通信UDP版)
    Redis 集群方案介绍
    华为交换机STP 根ID优先级设置
    Pacemaker+Corosync搭建PostgreSQL集群
    SpookyOTP
    世界级的开源项目:TiDB 如何重新定义下一代关系型数据库
    TiDB
    Fiddler显示响应时间 显示服务器IP
    DNS记录类型名单
    Django models中关于blank与null
  • 原文地址:https://www.cnblogs.com/jianyus/p/3799421.html
Copyright © 2011-2022 走看看