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的字段

  • 相关阅读:
    LeetCode 242. Valid Anagram (验证变位词)
    LeetCode 205. Isomorphic Strings (同构字符串)
    LeetCode 204. Count Primes (质数的个数)
    LeetCode 202. Happy Number (快乐数字)
    LeetCode 170. Two Sum III
    LeetCode 136. Single Number (落单的数)
    LeetCode 697. Degree of an Array (数组的度)
    LeetCode 695. Max Area of Island (岛的最大区域)
    Spark中的键值对操作
    各种排序算法总结
  • 原文地址:https://www.cnblogs.com/myheaven/p/2036585.html
Copyright © 2011-2022 走看看