这里我们用代码创建一个带有Lookup字段(名为: LookupStaffName)的List (名为:TestSale),它的Lookup字段从另一个名为SaleStaff的List中获取。
因此,我们首先在我们的测试网站上手工创建一个List,命名为SaleStaff,并输入测试数据如下

然后使用如下代码去创建TestSale这个List

string siteURL = "http://MyTestSite:1200/"; //此处换成你自己的站点地址
            using (SPSite site = new SPSite(siteURL))
            {
                using (SPWeb web = site.AllWebs[0])
                {
                    //先在我们的测试站点添加一个名叫TestSaleStaff的List.
                    Guid newListGuid = web.Lists.Add("TestSale", "Used for test lookup field.", SPListTemplateType.GenericList);
                    SPList newList = web.Lists[newListGuid]; //取得刚才添加的List.

//给TestSaleStaff这个List添加一个普通文本类型的字段.
                    SPField fldProductName = (SPFieldText)newList.Fields.CreateNewField(SPFieldType.Text.ToString(), "ProductName");
                    fldProductName.Description = "Add a common test text type field named ProductName";
                    fldProductName.Required = true; //在新建项目时,此字段是否是必填的.
                    newList.Fields.Add(fldProductName);

//给TestSaleStaff这个List添加一个Lookup类型的字段.
                    string fieldName = "LookupStaffName"; //设置fieldName参数,即新增的Lookup类型字段的名字
                    SPList lookupList = web.Lists["SaleStaff"]; //设置这个Lookup类型字段要从哪个List中去取值
                    Guid lookupGuid = new Guid(lookupList.ID.ToString()); //取得这个Lookup数据源List的Guid
                    newList.Fields.AddLookup(fieldName, lookupGuid, false);  //把上面取得的参数引入到AddLookup方法中,从而创建一个Lookup字段

SPFieldLookup splookup = newList.Fields[fieldName] as SPFieldLookup; //绑定数据List到Lookup字段
                    splookup.LookupField = lookupList.Fields["Title"].InternalName;
                    splookup.Update();

newList.Update();
                }
            }
            //此处可以显示操作结果信息

运行代码后,在网站中可以看到这个新建的List,修改它的View,使我们新建的Field可见,并试着输入新记录到这个List中,如下:

转载于:https://www.cnblogs.com/wsdj-ITtech/archive/2012/07/08/2417702.html

Sharepoint学习笔记---SPList--创建一个带有Lookup字段的List相关推荐

  1. 创建一个带有Lookup字段的List

    用程序去创建一个List是非常简单的事情,但是如何去创建一个带有Lookup类型的字段呢? 这就是本篇文章要尝试去做的事情. 前期准备工作: 在站点上有一个List,叫UserInformation, ...

  2. sandy引擎学习笔记: 创建一个立方体

    问题:如何利用sandy的类库去创建一个立方体呢? 首先,我们要先了解sandy类库的结构 可以看到上面就官方网放出的类库表,有一些很容易理解,像sandy.events 这个和flash.event ...

  3. Vue学习笔记:创建一个Vue实例

    目录 1.访问Vue官网https://cn.vuejs.org,进入学习模块下的教程 2.创建页面index.html 3.通过script标签在head部分引入vue.js 4.在body部分创建 ...

  4. DirectX11 学习笔记3 - 创建一个立方体 和 轴

    该方案将在进一步的程序 面向对象. 独立的模型类.更像是一个框架. 其中以超过遇到了一个非常有趣的问题,.获得一晚.我读了好几遍,以找到其他的列子.必须放在某些功能Render里面实时更新,而不是仅仅 ...

  5. CAD二次开发学习笔记二(创建一个对话框)

    打开资源视图->右击->添加资源->Dialog 双击对话框,弹出MFC类向导,输入类名FirstClass, 确定,创建对话框类.FirstClass.h与FirstClass.c ...

  6. Sharepoint学习笔记—ECMAScript对象模型系列-- 7、获取和修改List的Lookup字段

    在前面我们提到了如何使用ECMAscript对象模型来操作普通的List Items,但如果我们操作的List包含有Lookup字段,那么我们又该怎么做呢? 首先参考此文搭建我们本文的测试环境 Sha ...

  7. Sharepoint学习笔记—Site Definition系列-- 2、创建Content Type

    Sharepoint本身就是一个丰富的大容器,里面存储的所有信息我们可以称其为"内容(Content)",为了便于管理这些Conent,按照人类的正常逻辑就必然想到的是对此进行&q ...

  8. Sharepoint学习笔记—Ribbon系列-- 2. 在Ribbon中添加新Tab

    有了上面的基础,我们来看看如何向Sharepoint网站的Ribbon中添加我们定义的Tab. 直接进入操作步骤 一.创建 SharePoint 项目 要添加新选项卡,应首先创建一个空白 ShareP ...

  9. Sharepoint学习笔记---Sandbox Solution-- Full Trust Proxy--开发实例之(2、在Webpart中访问Full Trust Proxy)...

    上一篇Sharepoint学习笔记---Sandbox Solution-- Full Trust Proxy--开发实例之(1.创建一个能访问DataBase的Full Trust Proxy), ...

最新文章

  1. iOS下JS与OC互相调用(七)--Cordova 基础
  2. css怎么动画中该透明度,通过css3动画和opacity透明度实现呼吸灯效果
  3. Sharepoint学习笔记—ECMAScript对象模型系列-- 7、获取和修改List的Lookup字段
  4. (第四篇)Vue生命周期
  5. PHP生成唯一订单号
  6. 如何解读决策树和随机森林的内部工作机制?
  7. 让百度地图API支持HTTPS
  8. Windows和Mac os x一样不安全?!
  9. Spring-aop-AnnotationAwareAspectJAutoProxyCreator类
  10. 你确信你了解时间吗?
  11. 财富智慧 幸福人生——《菁英财商训练营》首场活动在深圳龙岗文博宫举行
  12. 计算机教室标语6个字,教室标语大全
  13. JVM 垃圾收集器 学习笔记(《深入理解java虚拟机》之六 垃圾收集)
  14. 关于电脑磁盘满了爆红解决方法之一
  15. Redis系列(六)
  16. markdown基础知识点,快速上手markdown
  17. 达索系统、西门子、PTC、欧特克、SAP的PLM系统优缺点比较?
  18. python杨辉三角解释_python杨辉三角
  19. ubuntu翻译工具 GoldenDict 词典
  20. 计算机ATA等级考证全名是?

热门文章

  1. 复杂的c语言,c语言复杂数据类型
  2. 交换机工作原理_交换机的作用是什么?
  3. 最接近的三数之和Python解法
  4. python学习-类(global、nonlocal、继承、多态)
  5. python学习-列表的操作(常用函数均会介绍)
  6. android中开启线程处理,Android线程与消息处理
  7. cedit多行文本设置透明背景会重叠_PPT脱白教程11期【形状篇2】聊聊形状和文本框的那些事儿~...
  8. js写的程序如何上线到linux,将 Node.js 应用发布到 Linux 应用服务 - Visual Studio | Microsoft Docs...
  9. 电路常识性概念(3)-TTL与CMOS集成电路
  10. python打印小猪佩琪_极度舒适的 Python 入门教程,小猪佩奇也能学会~