csharp SPListItem Posted 2021-05-12
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了csharp SPListItem相关的知识,希望对你有一定的参考价值。
using (SPSite oSiteCollection = new SPSite("http://MyServer"))
{
using (SPWeb oWebsite = oSiteCollection.OpenWeb())
{
SPList oList = oWebsite.Lists["MyList"];
SPListItem oItem = oList.Items[0];
oItem.Fields["MyField"].ReadOnlyField = true;
oItem.Fields["MyField"].Update();
}
}
SPListItemCollection items = site.Lists["ListName"].Items;
items[0].Delete();
SPWeb site = SPControl.GetContextWeb(Context);
SPListItemCollection items = site.Lists["ListName"].Items;
SPListItem item = items.Add();
item["Field_1"] = OneValue;
item["Field_2"] = TwoValue;
item.Update();
private List<Reference> ConvertToReferenceList(SPListItemCollection collection)
{
var result = new List<Reference>();
foreach (SPListItem item in collection)
{
var name = item["ReferenceName"].ToString();
var link = item["ReferenceLink"].ToString();
result.Add(new Reference { Name = name, Link = link });
}
return result;
}
/// <summary>
///
/// </summary>
/// <param name="ID"></param>
/// <returns></returns>
public SPListItemCollection GetSPListItemCollection(stringID)
{
SPListItemCollection itemCollection =newSPListItemCollection();
SPSecurity.RunWithElevatedPrivileges(
delegate
{
using(SPSite spsite =newSPSite(this.CurrentUrl))
{
using(SPWeb spWeb = spsite.OpenWeb())
{
SPList listInstance = spWeb.Lists[this.ListName];
SPQuery query =newSPQuery();
query.Query ="<Where><Eq><FieldRef Name='ID' /><Value Type='Counter'>"+ ID +"</Value></Eq></Where>";
itemCollection = listInstance.GetItems(query);
}
}
}
);
returnitemCollection;
}
privateNewEntity GetLastApproveVersionByItem(SPListItem item)
{
NewEntity result =null;
if(item ==null)returnresult;
if(item.Level == SPFileLevel.Published)
{
result = this.ConvertToEntity(item);
}
elseif(item.Versions !=null&& item.Versions.Count > 0)
{
foreach (SPListItemVersion itemVersioninitem.Versions)
{
if (itemVersion.Level == SPFileLevel.Published)
{
result =this.ConvertToEntity(itemVersion);
break;
}
}
}
returnresult;
}
public void DelItem(string listID, string itemID)
{
string siteCol = System.Configuration.ConfigurationManager.AppSettings["siteCol"];
SPSecurity.RunWithElevatedPrivileges(delegate() //虚拟管理员,否则其他用户访问没有权限
{
using (SPSite site = new SPSite(siteCol))
{
using (SPWeb web = site.OpenWeb("expense"))
{
SPList list = web.Lists["EBRL"];
//允许修改list
site.AllowUnsafeUpdates = true;
web.AllowUnsafeUpdates = true;
//填充list表单
SPQuery query = new SPQuery();
query.Query = string.Format(@"<Where><And><Eq><FieldRef Name='ListID' />
<Value Type='Text'>{0}</Value>
</Eq><Eq><FieldRef Name='ItemID' />
<Value Type='Text'>{1}</Value></Eq></And></Where>", listID, itemID);
SPListItemCollection items = list.GetItems(query);
//拒绝后删除记录
items[0].Delete();
}
}
}
);
}
public string AddNewItem()
{
stringretVal =string.Empty;
try
{
SPSecurity.RunWithElevatedPrivileges(delegate()
{
using (SPSite site =newSPSite(SPContext.Current.Web.Url))
{
using(SPWeb web = site.OpenWeb())
{
web.AllowUnsafeUpdates =true;
SPList list = web.Lists["TEST"];
SPListItem item = list.Items.Add();
item["Title"] =string.Format("Test at {0}", DateTime.Now.ToString());
item.SystemUpdate();
web.AllowUnsafeUpdates =false;
}
}
retVal = "operation success!";
});
}
catch(Exception ex)
{
retVal += ex.Message;
}
returnretVal;
}
public string AddNewItem()
{
stringretVal =string.Empty;
try
{
SPSecurity.RunWithElevatedPrivileges(delegate()
{
using (SPSite site =newSPSite(SPContext.Current.Web.Url))
{
using(SPWeb web = site.OpenWeb())
{
SPList list = web.Lists["TEST"];
SPListItem item = list.Items.Add();
item["Title"] =string.Format("Test at {0}", DateTime.Now.ToString());
item.Update();
}
}
retVal = "operation success!";
});
}
catch(Exception ex)
{
retVal += ex.Message;
}
returnretVal;
}
public string AddNewItem()
{
stringretVal =string.Empty;
try
{
SPSecurity.RunWithElevatedPrivileges(delegate()
{
using (SPSite site =newSPSite(SPContext.Current.Web.Url))
{
using(SPWeb web = site.OpenWeb())
{
SPList list = web.Lists["TEST"];
SPListItem item = list.Items.Add();
item["Title"] =string.Format("Test at {0}", DateTime.Now.ToString());
//如果修改的不留痕迹,要使用SystemUpdate;
item.SystemUpdate();
}
}
retVal = "operation success!";
});
}
catch(Exception ex)
{
retVal += ex.Message;
}
returnretVal;
}
以上是关于csharp SPListItem的主要内容,如果未能解决你的问题,请参考以下文章
csharp 新增或者更新SPListItem中的多选字段
csharp 使用列名称中的CAML获取SharePoint项目(SPListItem)。
SharePoint 2013 - 通过 REST 获取 SPListItem 版本
SPListItem.UpdateOverwriteVersion()真的不会创建新版本吗?
SPList的下一个SPListItem ID
LINQ 怎么消除重复数据 要求返回类型是IEnumerable<MySPListitem>类型