可以通过SPListCollection类的Add方法新建一个列表。
下面的样例会根据用户的输入,新建一个一般列表,日历或通知。Switch语句用于根据用户输入的列表类型设定列表的模板。
注意:
本样例中使用Microsoft.SharePoint.SPContent类成员来获取当前的网站集,网站和列表。在HTTP上下文以外,比如在命令行应用或Windows应用中,这种方式是没法用的。
VB
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#
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用于选择列表类型。
VB
mySite.Lists.Add("My Decisions", "This is a list of decisions",
template)
C#
SPListTemplate template
= mySite.ListTemplates["Decisions"];mySite.Lists.Add("My Decisions", "This is a list of decisions",
template);
该代码需要引用Microsoft.SharePoint命名空间。
下面的例子中,我们可以使用SPSite类的GetCustomListTemplates方法来返回特定站点中的自定义列表模板,然后我们会基于特定的一个列表模板新建一个列表。
VB
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#
SPWeb mySite = SPContext.Current.Web;
SPListTemplateCollection listTemplates
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 lists As SPListCollection = mySite.Lists Dim list As SPList = lists(TextBox1.Text)
Dim listGuid As System.Guid = list.ID
lists.Delete(listGuid)
C#
SPListCollection lists = mySite.Lists;
SPList list
= lists[TextBox1.Text];System.Guid listGuid = list.ID;
lists.Delete(listGuid);
该代码需要引用Microsoft.SharePoint命名空间。
该样例假设有一个textbox,用户可以指定要删除列表的名称。