csharp SPListItem

Posted

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>类型