WSS3SDK之:如何创建或删除列表

可以通过SPListCollection类的Add方法新建一个列表。
下面的样例会根据用户的输入,新建一个一般列表,日历或通知。Switch语句用于根据用户输入的列表类型设定列表的模板。

注意
本样例中使用Microsoft.SharePoint.SPContent类成员来获取当前的网站集,网站和列表。在HTTP上下文以外,比如在命令行应用或Windows应用中,这种方式是没法用的。
VB
复制代码
Dim mySite As SPWeb = SPContext.Current.Web
Dim lists As SPListCollection = mySite.Lists

Dim listTitle As String = TextBox1.Text
Dim listDescription As String = TextBox2.Text
Dim listType As String = ListBox1.SelectedItem.Text

Dim listTemplateType As New SPListTemplateType()

Select Case listType
    
Case "Generic List"
        listTemplateType 
= SPListTemplateType.GenericList
        
Exit 
    
Case "Events"
        listTemplateType 
= SPListTemplateType.Events
        
Exit
    
Case "Announcements"
        listTemplateType 
= SPListTemplateType.Announcements
        
Exit 
End Select
lists.Add(listTitle, listDescription, listTemplateType)
复制代码

C#
复制代码
SPWeb mySite = SPContext.Current.Web;
SPListCollection lists 
= mySite.Lists;

string listTitle = TextBox1.Text;
string listDescription = TextBox2.Text;
string listType = ListBox1.SelectedItem.Text;

SPListTemplateType listTemplateType 
= new SPListTemplateType();

switch(listType)
{
    
case "Generic List":
    {
        listTemplateType 
= SPListTemplateType.GenericList;
        
break;
    }

    
case "Events":
    {
        listTemplateType 
= SPListTemplateType.Events;
        
break;
    }

    
case "Announcements":
    {
        listTemplateType 
= SPListTemplateType.Announcements;
        
break;
    }
}

lists.Add(listTitle, listDescription, listTemplateType);
复制代码
代码需要添加Microsoft.SharePoint命名空间。
本例中实例化了一个SPListTemplateType对象,用于存放用户指定的列表类型。该对象是Add方法的一个必要参数。该样例代码假设存在两个textbox,用于输入标题和描述。同时,还有一个drop-down list用于选择列表类型。
除了可以使用SPListTemplateType枚举来创建一个列表外,您也可以用SPListTemplate对象创建一个列表。SPWeb类的ListTemplates属性可以用于返回一个列表模板对象的集合,然后通过名称索引的方式指定要用的列表模板。下面的示例中将展示这种实现方法。该样例假定当前在一个会议工作区网站中。
VB
Dim mySite As SPWeb = SPContext.Current.Web

Dim template As SPListTemplate = mySite.ListTemplates("Decisions")
mySite.Lists.Add(
"My Decisions""This is a list of decisions"
   template)

C#
SPWeb mySite = SPContext.Current.Web;

SPListTemplate template 
= mySite.ListTemplates["Decisions"];
mySite
.Lists.Add("My Decisions", "This is a list of decisions", 
   template);
该代码需要引用Microsoft.SharePoint命名空间。
下面的例子中,我们可以使用SPSite类的GetCustomListTemplates方法来返回特定站点中的自定义列表模板,然后我们会基于特定的一个列表模板新建一个列表。
VB
复制代码
Dim siteCollection As SPSite = SPContext.Current.Site
Dim mySite As SPWeb = SPContext.Current.Web

Dim listTemplates As SPListTemplateCollection 
   
= siteCollection.GetCustomListTemplates(mySite)
Dim listTemplate As SPListTemplate 
   
= listTemplates("Custom List Template")
mySite.Lists.Add(
"Custom List""A list created from 
   a custom list template in the list template catalog", listTemplate)
复制代码

C#
复制代码
SPSite siteCollection = SPContext.Current.Site;
SPWeb mySite 
= SPContext.Current.Web;

SPListTemplateCollection listTemplates 
   
= siteCollection.GetCustomListTemplates(mySite);
SPListTemplate listTemplate 
= listTemplates["Custom List Template"];
mySite.Lists.Add(
"Custom List""A list created from 
   a custom list template in the list template catalog", listTemplate);
复制代码
该代码需要引用Microsoft.SharePoint命名空间。
如果要删除某列表,我们必须在Delete方法中指定列表的GUID。可以通过SPList类的ID属性得到GUID。
VB
复制代码
Dim mySite As SPWeb = SPContext.Current.Web
Dim lists As SPListCollection = mySite.Lists

Dim list As SPList = lists(TextBox1.Text)
Dim listGuid As System.Guid = list.ID

lists.Delete(listGuid) 
复制代码
C#
复制代码
SPWeb mySite = SPContext.Current.Web;
SPListCollection lists 
= mySite.Lists;

SPList list 
= lists[TextBox1.Text];
System.Guid listGuid 
= list.ID;

lists.Delete(listGuid);
复制代码
该代码需要引用Microsoft.SharePoint命名空间。
该样例假设有一个textbox,用户可以指定要删除列表的名称。


posted @   Sunmoonfire  阅读(993)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示