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

  • 相关阅读:
    Linux中$含义
    Linux文本处理之grep
    MySQL8.0.15的安装与配置---win10
    Jenkins实现自动运行jmeter脚本
    Hystrix初识
    Feign初始
    AS的Gradle下载不成功
    Linux安装一些软件
    OAuth2初识
    IDEA无法打开等奇异问题终极解决方法
  • 原文地址:https://www.cnblogs.com/myheaven/p/2036585.html
Copyright © 2011-2022 走看看