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

  • 相关阅读:
    软件项目成员的业绩考核
    COM, COM+ and .NET 程序集的区别
    .Net 应用框架设计系列(二)
    怎样在Web开发中完美控制IE标题栏
    影楼系统
    PHP读取ACCESS数据到MYSQL
    简单分享apache 封 IP 的方法
    详解Apache下.htaccess文件常用配置
    fleaphp常用方法分页之Pager
    php遍历文件夹读取文件夹中图片并分页显示图片
  • 原文地址:https://www.cnblogs.com/tdskee/p/3431531.html
Copyright © 2020-2023  润新知