SharePoint列表使用WebService操作,可以进行增删改查,但是操作开启审批功能列表的时候,会遇到列表项审批的问题,只要进行修改,该项目就会变成待定状态,然后想要修改审批状态,就使用UpdateListItems方法,一直自以为是的以为,修改审批状态,不就是更新么Cmd='Update'不就可以了,事实却不是如此。

审批方法名称UpdateListItems(string ListName, XmlNode updates)

参数名称

ListName  为列表名称,string类型

Updates   为XmlNode类型,用于更新

<Method ID='1' Cmd='Update'> Cmd参数,Update为更新

<Field Name='ID'>1</Field> Name参数,字段名称;Field中的值,ID字段的值

_ModerationStatus  为审批状态字段

审批状态:0为已批准 1为已拒绝 2为待定 3为草稿

示例代码[C#]

WebReference.Lists   listService = new WebReference.Lists();

listService.Credentials = System.Net.CredentialCache.DefaultCredentials;

string strBatch = "<Method   ID='1' Cmd='Update'>" +

"<Field   Name='ID'>1</Field>" +

"<Field   Name='_ModerationStatus'>0</Field></Method>";

XmlDocument xmlDoc = new   System.Xml.XmlDocument();

System.Xml.XmlElement   elBatch = xmlDoc.CreateElement("Batch");

elBatch.InnerXml = strBatch;

XmlNode ndReturn = listService.UpdateListItems("通知公告", elBatch);

Console.Write("操作成功");

 

如上面的代码,居然执行完毕,也输出“操作成功”,真是见鬼了,但是审批状态,一直为待定,无论修改一次,或者修改几次,都是不会改变的,后来继续查资料,发现更新审批状态时的cmd不是update,真见鬼,居然是Moderate,如下面表格。

string strBatch = "<Method   ID='1'
Cmd='Moderate'>" +

"<Field   Name='ID'>1</Field>" +

"<Field   Name='_ModerationStatus'>0</Field></Method>";

修改完了strBatch的Cmd以后,执行,执行成功!

******************************************************************************

作者:霖雨

出处:http://www.cnblogs.com/jianyus

本文版权归 霖雨和博客园共有,欢迎转载,但请注明出处。

SharePoint WebService 之更新审批状态的更多相关文章

  1. 在Bootstrap开发框架的工作流模块中实现流程完成后更新资料状态处理

    在开发查看流程表单明细的时候,在Web界面中,我们往往通过使用@RenderPage实现页面内容模块化的隔离,减少复杂度,因此把一些常用的如审批.撤销.会签.阅办等等的流程步骤都放到了通用处理的页面V ...

  2. salesforce 零基础学习(四十六)动态美观显示列表中记录的审批状态

    项目中,申请者申请某些事项以后,常常需要在申请列表中查看当前申请的记录所在的审批状态,动态美观的显示状态可以使UI更符合客户要求,比如下面这样. 以Goods__c表为例,申请者申请的一些采购以前需要 ...

  3. SharePoint 2013 实现多级审批工作流

    上一篇介绍了安装和配置SharePoint 2013 Workflow,这一篇将用SharePoint 2013 Designer Workflow来实现一个多级审批工作流. 审批工作流介绍 这个De ...

  4. datagrid combobox事件更新编辑状态下的datagrid行

    请问如何从上图状态 点击下拉的combobox中值然后在不取消datagrid编辑状态下更新这一行另一列的数据,达到下图这样的效果: 非常感谢! 给你的combobox  绑定一个onSelect 事 ...

  5. 跟我学SharePoint 2013视频培训课程—— 审批、拒绝列表项(13)

    课程简介 第13天,怎样在SharePoint 2013中审批.拒绝列表项. 视频 SharePoint 2013 交流群 41032413

  6. salesforce零基础学习(八十五)streaming api 简单使用(接近实时获取你需要跟踪的数据的更新消息状态)

    Streaming API参考链接: https://trailhead.salesforce.com/en/modules/api_basics/units/api_basics_streaming ...

  7. HIS系统结算后,没有更新单据状态为“已结算”

    1.由于查询单据有个参数:时间,而应用服务器和数据库服务器存在时间差,经比对,数据库服务器时间要快7秒 2.应用服务器查询单据,根据当前时间去查,但是由于数据库服务器要快7秒,导致查询不出数据. 总结 ...

  8. 世纪佳缘信息爬取存储到mysql,下载图片到本地,从数据库选取账号对其发送消息更新发信状态

    利用这种方法,可以把所有会员信息存储下来,多线程发信息,10秒钟就可以对几百个会员完成发信了. 首先是筛选信息后爬取账号信息, #-*-coding:utf-8-*- import requests, ...

  9. WPF: 使用CommandManager.InvalidateRequerySuggested手动更新Command状态

    WPF判断命令(Command)是否能够执行是通过ICommand.CanExecute事件,在实际程序中路由命令一般是通过CommandBinding来使命令得到实际操作代码,但是这个CanExec ...

随机推荐

  1. EBS各个应用简称

     模块全称 Banking Center 模块简称 FPT 服务器目录 FPT_TOP Billing Connect CUE CUE_TOP CADView-3D DDD DDD_TOP CPG ...

  2. 非负矩阵分解NMF

    http://blog.csdn.net/pipisorry/article/details/52098864 非负矩阵分解(NMF,Non-negative matrix factorization ...

  3. RecyclerView下拉刷新上拉加载(一)

    listview下拉刷新上拉加载扩展(一) http://blog.csdn.net/baiyuliang2013/article/details/50252561 listview下拉刷新上拉加载扩 ...

  4. shell入门之流程控制语句

    1.case 脚本: #!/bin/bash #a test about case case $1 in "lenve") echo "input lenve" ...

  5. Spark:大数据的电花火石!

    什么是Spark?可能你很多年前就使用过Spark,反正当年我四六级单词都是用的星火系列,没错,星火系列的洋名就是Spark. 当然这里说的Spark指的是Apache Spark,Apache Sp ...

  6. Android的自动完成文本框-android学习之旅(二十六)

    AutoComplicatedTextView简介 AutoComplicatedTextView是从EditText派生出来的,可以使用EditText的所有的属性.当用户输入一定的内容后,会有提示 ...

  7. 仿IOS7日期选择控件(新)

    前面也写过好几篇仿IOS日期控件的文章,不过基本上都是基于Wheelview修改而来,大致实现了滑轮选择选项的效果,其实和ios7及以上的效果还是相差甚远,而本文中所展现的这个控件虽也是从网上而来(呵 ...

  8. findbugs, checkstyle, pmd的myeclipse7.5+插件安装(转:http://blog.csdn.net/priestmoon/article/details/63941)

    CheckStyle (1)下载net.sf.eclipsecs_5.3.0.201012121300-updatesite-.zip (2)打开MyEclipse,Help->Software ...

  9. 不窃取用户隐私的搜索引擎: DuckDuckGo

    不窃取用户隐私的搜索引擎: DuckDuckGo https://duckduckgo.com/ 最近goggle不给力, baidu搜出来的很多都是垃圾, bing用久了很烦. 于是用上了DuckD ...

  10. [信号处理技术]关于EMD的产生

    通俗易懂,有助于理解EMD和HHT,就原封不动的搬过来了. 原文链接:关于EMD的产生 自傅里叶变换与频谱分析技术产生,人们得以从另外一个角度观察时域信号,信号里各个点的密集程度,得以确定性地度量.之 ...