当前,我正在开发一种应用程序,以更简单的方式访问我的公司Sharepoint网站。我的应用程序功能之一是访问Approvals项目(或在我的研究中定义为_moderationStatus)。
我已经做了很多研究以完成此任务,但是我发现是从List获得批准(_moderationStatus)。同时,我真正需要的是从作业/任务中获得批准。有什么办法可以做到这一点?
这是我发现的与我想要的(我认为)最接近的代码
this.oListItemUpdate = oList.getItemById(listID);
var wrkFlwApproval = this.oListItem.get_item(‘_ModerationStatus’);
if(wrkFlwApproval == 0)
{
this.oListItemUpdate.set_item(‘_ModerationStatus’, 0 );
}
public enum SPModerationStatusType
{
Approved, //0
Denied, //1
Pending, //2
Draft, //3
Scheduled //4
}
如果我可以在共享点列表中获取TaskList,则可以使用该代码,但找不到它们。如果有其他解决方案,那就太好了。
答案 0 :(得分:0)
以下CSOM代码供您参考。
ClientContext ctx = new ClientContext("http://sp2013");
ctx.Credentials = new NetworkCredential("username", "password", "domain");
CamlQuery camlQuery = new CamlQuery();
List list = ctx.Web.Lists.GetByTitle("Tasks");
ListItemCollection listItems = list.GetItems(camlQuery);
ctx.Load(listItems);
ctx.ExecuteQuery();
foreach (var listItem in listItems)
{
string status = "";
string mStatus = listItem["_ModerationStatus"].ToString();
if (mStatus == "0")
{
status = "Approved";
}
else if (mStatus == "1")
{
status = "Denied";
}
else if (mStatus == "2")
{
status = "Pending";
}
else if (mStatus == "3")
{
status = "Draft";
}
else if (mStatus == "4")
{
status = "Scheduled";
}
Console.WriteLine("Title: " + listItem["Title"] + " Approval Status:" + status);
}