这个例子演示在客户端中给列表加入列。
例子之前首先要熟悉几个概念:
一个Sharepoint的站点集是最上层的概念,它的对象模型是SPSite;每个站点集下面有很多个站点(SPWeb),比如我们sharepoint中的文档库和博客等,那么对应的文档库这个站点下又有很多列表(SPList),就比如文档库下面有文档列表和任务列表等,每个列表下又有很多视图(SPView),视图就是我们常看到的所有文档视图或者资源管理器视图等,当然我们也可以创建自己的视图。
我们的例子是要在列表中加入字段,首先我们创建列表时一般是从一个内容类型为基础创建的,那么列表中的字段也是从内容类型继承的,我们想加入字段的话可以直接在列表中加入(不涉及内容类型),在列表中加入后还需要把字段加入到列表的默认视图中去,这样才能在一览中来显示。
演示效果:
MOSS SDK学习(4)

我这个例子就是演示加入一个最简单的文本列,当然也可加入其它类型的。
主要代码如下:
1、在ListBox中显示出列表中已经有的列

MOSS SDK学习(4)            //取得文档库下所有的列名
MOSS SDK学习(4)
            SPWeb rootWeb = _siteCollection.AllWebs["Docs"];
MOSS SDK学习(4)            SPList docList 
= rootWeb.Lists["文档"];
MOSS SDK学习(4)            SPFieldCollection fields 
= docList.Fields;
MOSS SDK学习(4)
MOSS SDK学习(4)            SPViewFieldCollection viewFields 
= docList.DefaultView.ViewFields;
MOSS SDK学习(4)
MOSS SDK学习(4)            
foreach (SPField field in fields)

2、加入新的列

MOSS SDK学习(4)            SPWeb site = _siteCollection.AllWebs["Docs"];
MOSS SDK学习(4)            SPList list 
= site.Lists["文档"];
MOSS SDK学习(4)            SPView view 
= list.Views["所有文档"];
MOSS SDK学习(4)            SPViewFieldCollection viewFields 
= view.ViewFields;
MOSS SDK学习(4)
MOSS SDK学习(4)            SPFieldCollection fields 
= list.Fields;
MOSS SDK学习(4)            
//加入新的列
MOSS SDK学习(4)
            fields.Add("ccc", SPFieldType.Text, true);
MOSS SDK学习(4)            fields[
"ccc"].Hidden = false//是否显示
MOSS SDK学习(4)
            list.Update();
MOSS SDK学习(4)
MOSS SDK学习(4)            SPField newViewField 
= list.Fields["ccc"];
MOSS SDK学习(4)            viewFields.Add(newViewField);
MOSS SDK学习(4)
MOSS SDK学习(4)            view.Update();
MOSS SDK学习(4)
MOSS SDK学习(4)

演示例子下载

相关文章:

  • 2022-02-04
  • 2021-06-27
  • 2022-12-23
  • 2022-12-23
  • 2022-02-26
  • 2021-12-08
猜你喜欢
  • 2021-11-09
  • 2021-07-01
  • 2021-06-18
  • 2021-07-23
  • 2021-05-16
相关资源
相似解决方案