zoukankan      html  css  js  c++  java
  • sharepoint 2010 FieldLookup 的更新方法

    网上有,但是是错误的,稍微改一下,就可以了

    第一个方法是要更新的item,其中 _fieldname 为要更新的lookup字段名字,_lookupValue为要更新的值。

    public void SetFieldValueLookup(SPListItem _item, string _fieldname, string _lookupValue)
            {
                if (_item != null)
                {
                    SPFieldLookup field = _item.Fields.GetFieldByInternalName(_fieldname) as SPFieldLookup;
                    _item[_fieldname] = GetLookupValue(_item.Web, field, _lookupValue);
                    _item.Update();
                }
                else
                {
                    _item[_fieldname] =null;
                }
            }

            public SPFieldLookupValue GetLookupValue(SPWeb _web, SPFieldLookup _field, string _lookupvalue)
            {
                string queryFormat = @"<Where><Eq><FieldRef Name='{0}' /><Value Type='Text'>{1}</Value></Eq></Where>";
                string queryText = string.Format(queryFormat,  _field.LookupField, _lookupvalue);
                SPList lookupList = _web.Lists[new Guid(_field.LookupList)];
                SPQuery query = new SPQuery();
                query.Query = queryText;
                SPListItemCollection lookupItems = lookupList.GetItems(query);

                if(lookupItems.Count > 0)
                {
                    int lookupId = Convert.ToInt32(lookupItems[0][SPBuiltInFieldId.ID]);
                    return new SPFieldLookupValue(lookupId, _lookupvalue);
                }
                else
                {
                    return null;
                }

            }

    用这个方法就可以了._field.LookupField是关联另一个item的字段

  • 相关阅读:
    tornado用户指引(三)------tornado协程使用和原理(二)
    利用tornado使请求实现异步非阻塞
    在tornado中使用异步mysql操作
    Tornado 线程池应用
    Tornado异步与延迟任务
    tornado用户指引(二)------------tornado协程实现原理和使用(一)
    Tornado用户指引(一)-----------异步和非阻塞I/O
    Tornado异步之-协程与回调
    Python核心框架tornado的异步协程的2种方式
    c++ Map使用
  • 原文地址:https://www.cnblogs.com/tdskee/p/3431531.html
Copyright © 2011-2022 走看看