【转】SharePoint类库熟悉总结

编写程序时,合理地使用 try-catch 语句是一种良好的编程习惯。
应该尽可能对所有可能出错的语句进行 try-catch ,
如果有必要,捕获每种特定异常,并提供更加友好的出错信息,使得程序更加人性化。


System.Web.UI.WebControls.WebParts; 为WebPart类的所在。

控件有: Button , TextBox , HtmlTableCell , Labe

它的公共属性有 :
 AllowMinimize : 是否允许最小化;
 Caption : WebPart的说明,标题后面的文字;
 Description : WebPart的简介;
 FrameState : WebPart的状态, Minimized 或 Normal ;
 FrameType : WebPart边框的类型 , 有以下几种,Default(默认,使用该WebPart所在WebPartZone设定),None,Standard,TitleBarOnly(有标题栏无边框)
 Height/Width : webPart 的长度和宽度;
 ID : WebPart的ID;
 PartImageLarge/PartImageSmall : WebPart的图片,通过设置这个图片,可以在管理WebPart时方便地找到该WebPart,与其他WebPart区分开;
 Title : WebPart的标题;
 ZoneID : WebPart 所在WebPartZone 的ID;
 
WebPart还有一些公有的或protected 函数 ,
Controls.Add( "控件对象" ) 在WebPart上添入控件。

protected 成员:
 protected override void Render( System.Web.UI.HtmlTextWriter writer) //默认行为是依次遍历Controls中的控件,并将他们输出。
 protected override void OnLoad( EventArgs e ) //首次加载时处理的事件
 protected override void CreateChildControls() //由 Asp.net 页面框架调用 , 以通知服务器控件创建他们包含的任何子控件,以便回发或呈现做准备。


Microsoft.SharePoint;
//该命名提供了WSS中关于网站内容的基本的对象模型,例如网站,列表,文件和用户等。


SPSite 类
//网站的集合

构造函数 : SPSite( String url ) ,SPSite( Guid x )

//Guid是对象的唯一标识符,通过Guid可以获取该对象实例,例如 SPSite , SPWeb , SPList , SPView , Area , AreaListing
//有些还采用整数做标识符,例如 表项SPListItem , 角色SPRole , 用户SPUser


AllWebs 属性
//可以获取该网站集中的所有网站,包括一个顶级网站和它下面的所有子网站。
//并且可以通过 webs[ int index ] , webs[ String url ] , webs[ Guid guid ] ,获得特定的SPWeb对象。


RootWeb 属性
//该属性是个SPWeb类型变量,它对所对应的对象是该网站集中的顶级网站,通过它可以逐步获得该网站级中的层级结构。

OpenWeb 函数
//返回一个SPWeb类型变量,通过该函数可以获得网站集中一个特定的网站。
 OpenWeb( );
 OpenWeb( Guid guid );
 OpenWeb( String url );


SPWeb 类
//网页内容集合

//大多数和WSS相关的内容都是通过使用SPWeb的一些成员变量来获取的,这些成员主要有:

 AllUsers : 网站所有成员,以及通过域组来浏览网站的用户;
 Files : 网站下的所有文件;
 Folders : 网站下的所有目录;
 Groups : 所有跨网站用户组;
 Lists : 网站下的所有列表;
 ListTemplates : 网站下的所有列表模版;
 Permissions : 网站下的权限;
 Roles : 网站下的所有角色;
 Users : 属于该网站的所有用户;
 Webs : 该网站的所有子网站;

//此外,SPWeb一些成员变量对应于网站的一些属性,例如:
 AllowAnonymousAccess : 网站是否允许匿名访问(只读);
 Author : 网站的创建者;
 Created : 网站的创建时间;
 CurrentUser : 当前的用户;
 ID : 唯一标识该网站的Guid;
 IsRootWeb : 该网站是否为顶级网站;
 ParentWeb : 该网站的父网站;
 Site : 该网站所属的网站集;
 Title : 该网站的标题;
 Url : 该网站的url绝对路径;
 WebTemplate : 该网站的模版;

//SPWeb 对象提供的一些方法
 GetFile : 通过url获得一个文件的对象(SPFile);
 GetFolder : 通过url获取一个目录的对象SPFolder;
 GetListOfType : 获取特定类型的列表的集合;
 GetSubwebsForCurrentUser : 获取该网站的子网站(可以指定模板);
 GetViewFromUrl : 通过url获取一个列表的视图SPView;
 SaveAsTemplate : 将网站保存为模板;
 SearchDocuments : 搜索网站的文档库(需要开启全文检索功能);
 SearchListItems : 搜索列表条目;
 Update : 使网站属性的修改生效;
//在修改对象属性时,只有Update后才会生效

SPList 类
//列表功能类
//获取SPList的主要方法是通过访问 SPWeb.lists 这一 SPListCollection类型的属性。
//从该集合获得一个特定的列表对象有如下3种方法:
 lists[ String name ];
 lists[ Guid guid ];
 lists[ int index ];


//添加一个列表通过调用SPListCollection.Add方法来完成,创建成功后返回新列表的Guid。
 Add( String tile , String description , SPListTemplate template );
 //前两个参数分别指定列表的名称和简介,第3个参数是一个SPListTemplate型变量,
 //指定该列表创建时所需要的列表模板对象,该对象可以用SPWeb.ListTemplates属性获得;

 Add( String title , String description , SPListTemplateType type );
 //第3个参数是SPListTemplateType型枚举指定列表模板,枚举中所包含的都是
 //网站默认拥有的基本类型的列表模板,如果创建一个自定义列表,可以用 SPListTemplateType.GenericList 做为该参数;

 Add( String title , String description , SPListTemplate template , SPDocTemplate docTemplate );
 //该方法会创建一个文档库,第3个参数指定列表的模板对象,第4个参数指定文档库的对象,
 //该对象可以通过SPWeb.DocTemplates属性获得;


//删除列表时,通过调用SPListCollection.Delete 方法完成
 Delete( Guid guid );//通过Guid来删除列表


//SPlist 有如下一些常用属性:
 BaseTemplate : 该列表所对应的列表模板;
 BaseType : 该列表的基础类型;
 DefaultView : 该列表的默认视图对象;
 EnableAttachments : 该列表是否允许添加附件;
 EnableModeration : 该列表是否开启审批功能;
 Fields : 列表字段的集合;
 Forms : 列表表单的集合,主要有浏览,添加和修改几个页面;
 ID : 标适该列表的唯一的Guid;
 Items : 列表条目的集合;
 ParentWeb : 列表所在的网站对象;
 Title : 列表的标题;
 Views : 该列表的视图的集合;
//修改属性后要通过 SPList.Update 方法使修改生效.

 

SPView 类
//视图除了负责数据的多样化显示,视图的另外一个重要作用就是对数据的筛选和排序
//在SharePoint环境中可以直接对视图的这些内容方便地进行修改,通过使用计算字段,可以更加丰富筛选和排序功能;

//获取SPView 对象有3种方法:
 通过List.DefaultView 属性得到该列表的默认视图;
 通过SPWeb.GetViewFromUrl 方法根据url获取到该视图,在实际使用中,可以使用这种方法先获得一个视图,再得到这个视图所在的列表对象;
 通过List.Views 得到该列表的所有视图,再通过以下3种方式得到特定的视图:
   views[ String name ];
   views[ Guid guid ];
   views[ int index ];

//添加一个视图,通过SPViewCollection.Add方法来完成:
 Add( String name , StringCollection fields , String query , uint rowLimit , bool paged , bool makeDefault);
 //name参数指定视图名称 , fields参数指定了需要显示的字段名的集合,
 //query参数指定了对数据的筛选条件,rowLimit参数指定了视图中一次所返回的列表条目的最大个数,
 //paged参数指定了该视图是否支持翻页, makeDefault 参数指定了是否需要将该视图作为默认视图;

 Add( String name , StringCollcection fields , String query , uint rowLimit , bool paged , bool makeDefault, SPViewCollection.SPViewType type , bool personalView);
 //前面参数与上文相同,type参数指定了该视图的基本类型,personalView参数指定了该视图是否为个人视图。

//与列表添加方法不同,试图添加方法返回的是 SPview对象,而不是一个Guid;
//删除一个视图同样使用SPViewCollection.Delete 方法,用视图的Guid作为参数;
//默认页面浏览一个视图的时候,视图的翻页功能只有"下一页"而没有"上一页",如果需要实现向前翻页功能,需要自己写程序完成;


//SPView 中常用的一些属性如下:
 ID : 标识该视图的列表对象(SPList);
 ParentList : 包含该视图的列表对象;
 PropertiesXml : 该视图的基本信息,包括URL,名称和类型等;
 Query : 视图中对数据进行筛选的查询XML字符串;
 SchemaXml : 该视图的信息,包括基本信息和例如筛选,分组等;
 Title : 该视图的名称;
 ViewFields : 该视图需要显示的字段的集合;
 Url : 显示该视图所对应的URL;
//修改属性后需要调用SPView.Update 才能使修改生效


SPField 类
//对应于列表中的字段对象。SharePoint的列表由若干个字段所组成,每个字段可以设置为不同的数据类型,也可以拥有不同的属性设置,例如默认值,是否隐藏,是否可以为空等。

//获得SPField对象方法主要是通过SPList.Fields 属性得到所有字段,再通过两种方法得到特定字段:
 fields[ String dispName ];
 fields[ int index ];

//为列表添加字段有3种方法:
 Add( String dispName , SPFieldType type , bool bRequired );
 AddLookup( String dispName , Guid lookupListID , bool bRequired );
 AddFieldAsXml( String strXml);

//SPField 拥有如下一些比较常用的属性。
 DefaultFormula : 计算字段的公式;
 DefaultValue : 字段的默认值;
 Description : 该字段的说明描述信息;
 Filterable : 该字段是否可以被筛选;
 Hidden : 该字段是否在列表中显示;
 InernalName : 该字段的内部名称;
 ParentList : 该字段所在列表的对象;
 ReadOnlyField : 该字段是否被只读;
 Required : 在填写数据时候,该字段是否必填;
 SchemaXml : 该字段设置的信息;
 Sortable : 该字段是否可以被排序;
 Title : 该字段的字段名,即显示名称;
 Type : 该字段的类型,为SPFieldType 类型的枚举;
//修改后用Update更新才会生效;
//每个字段都有两个名称,即显示名称 和 内部名称 , 它们在对象模型中对应于 SPField.Title 和 SPField.InternalName 。
//SPField的子类有,SPFieldText , SPFieldLookup , SPFieldNumber.

SPListItem 类
//在列表的实际操作中,最终要接触到的还是作为数据内容部分的列表条目(List Item).
//在访问列表的某个具体条目之前,都需要先获得一个列表条目的集合。
//获得列表条目集合的方法:
 使用SPList.Items 属性,该属性返回列表中的所有列表条目,在需要得到或者遍历所有列表条目时,可以使用这种获取列表的方法;
 使用SPList.GetItems 方法,有目的的获得部分列表条目:
  GetItems( SPView view );
  GetItems( SPQuery query );//SPQuery 是负责查询列表条目的一个类,通过定义一个查询,可以方便地获取想要得到的列表条目;
  //SPQuery提供了两种构造函数,一种是无参数的,另外一种可以带有一个SPView类型的参数,即在指定的视图上进行2次查找。
  //SPQuery最核心的一个属性就是Query属性,它是一个字符串的类型,它通过一种特殊定义过的xml形式,即 CAML( Collaborative Application Markup Language )
  //的形式描述一个查询的条件,实际上这个查询字符串和 SPView.Query 属性是相当的。
  GetItems( SPQuery query , String viewID );

//在使用SPQuery 时,必须每使用一次都要重新进行构造( 即使用new 运算符重新生成一个新的对象),然后再指定Query属性;
//否则,如果不进行重新构造,即使指定了不同的Query 属性,在每次查询的时候始终得到的是第一次指定的Query 条件的查询结果。

//获得集合后,在获得某个具体的列表条目时,有下面两种方法。
 items[ int index ];
 GetItemById( int id );//每个列表条目都会有一个该列表中唯一的ID

//得到列表条目之后,就可以对该条目的内容进行访问或修改了,访问条目某个字段方法最常用的为: item[ String fieldname ]
//其中 fieldname ,可以使用该字段的显示名称,也可以使用该字段的内部名称。

//SPListItem属性
 Attachments :该列表条目的附件集合;
 File : 如果该列表是文档库的话,得到该文件的对象;
 ID : 在该列表唯一标识该列表条目的整型;
 ModerationInfomation : 该列表条目的审批信息;
 ParentList : 该列表条目所在列表对象;
 Xml : 以XML的格式返回该列表条目中的所有数据;
//属性修改后,通过SPListItem.Update使得修改生效;

//添加一条列表条目方法
 SPListItemCollection.Add()
 //该方法不需要参数,直接返回一个空的SPListItem对象,
 //通过该对象对各字段的内容进行修改,再调用Update就可将该条目添加到该列表中。

//删除一个列表条目
 SPListItemCollection.DeleteById( int id );
 SPListItemCollection.Delete( int index );

//SPListItemCollection 类中,有一个非常有用的方法:GetDataTable 即
 DataTable GetDataTable();
 //该方法可以返回由这些列表条目所组成的DataTable对象,以便将数据绑定到一些显示控件上。而没有条目时返回NULL;

 

 

posted on 2008-09-23 00:54  王丹小筑  阅读(515)  评论(0)    收藏  举报

导航