如何:添加或删除列表项

上次修改时间: 2010年3月16日

适用范围: SharePoint Foundation 2010

本主题中的示例演示如何使用 SharePoint Foundation 服务器对象模型创建或删除网站或网站集中的列表项。

备注

本主题中的代码示例使用 Microsoft.SharePoint.SPContext 类的成员来获取当前网站集、网站或列表。在 HTTP 上下文的外部(例如,在控制台应用程序或 Windows 应用程序中),可以使用不同的方法获取对主要对象的引用。不必使用 Microsoft.SharePoint.SPContext 对象,而可以改为使用 SPSite() 构造函数实例化特定的网站集并获取对象。有关详细信息,请参阅获取对网站、Web 应用程序和其他关键对象的引用

创建列表项

若要向列表添加项,请使用 Add 类的 Add 方法来创建项对象,然后使用 SPListItem 类的 Update 方法来更新具有新项的数据库。

下面的示例假定存在五个文本框,其中一个文本框指定项要添加到的列表的名称,其他四个文本框用于指定要添加的值。索引器收集所有五个源的输入。此示例还假定存在 TextBox1.Text 指定的列表。

Dim mySite As SPWeb = SPContext.Current.Web
Dim listItems As SPListItemCollection 
    = mySite.Lists(TextBox1.Text).Items

Dim item As SPListItem = listItems.Add()

item("Title") = TextBox2.Text
item("Stock") = Convert.ToInt32(TextBox3.Text)
item("Return Date") = Convert.ToDateTime(TextBox4.Text)
item("Employee") = TextBox5.Text

item.Update()
SPWeb mySite = SPContext.Current.Web;
SPListItemCollection listItems = mySite.Lists[TextBox1.Text].Items;

SPListItem item = listItems.Add();

item["Title"] = TextBox2.Text;
item["Stock"] = Convert.ToInt32(TextBox3.Text);
item["Return Date"] = Convert.ToDateTime(TextBox4.Text);
item["Employee"] = TextBox5.Text;

item.Update();
}

此示例首先通过集合的 Add 方法来创建一个 SPListItem 对象,然后通过对列表项使用索引器来为特定的字段分配值。例如, item["Title"] 指定列表项的 Title 列值。最后,此示例调用列表项的 Update 方法以使数据库中的更改生效。还可以将 Author、Editor、Created 和 Modified 字段用作索引器,其中 Author 或 Editor 指定一个 Microsoft SharePoint Foundation 用户 ID。有关示例,请参见 SPListItem 类。

删除列表项

若要从列表中删除项,请使用 SPListItemCollection 类的 Delete 方法,此方法接受集合的索引作为参数。

Dim mySite As SPWeb = SPContext.Current.Web
Dim listItems As SPListItemCollection 
    = mySite.Lists(TextBox1.Text).Items
Dim itemCount As Integer = listItems.Count
Dim k As Integer

For k = 0 To itemCount - 1
    Dim item As SPListItem = listItems(k)

    If TextBox2.Text = item("Employee").ToString() Then
        listItems.Delete(k)
    End If
Next k
SPWeb mySite = SPContext.Current.Web;
SPListItemCollection listItems = mySite.Lists[TextBox1.Text].Items;
int itemCount = listItems.Count;

for (int k=0; k<itemCount; k++)
{
    SPListItem item = listItems[k];

    if (TextBox2.Text==item["Employee"].ToString())
    {
        listItems.Delete(k);
    }
}

根据两个文本框中的输入,此示例将遍历指定列表的项目集合,如果 Employee 字段值与指定的值匹配,则它将删除项目。

上一示例要求对 Microsoft.SharePoint 命名空间使用 using 指令(在 Visual Basic 中为 Imports)。

请参阅

引用

Microsoft.SharePoint

概念

使用列表对象和集合

使用 Visual Studio 进行 SharePoint 开发

安全验证并进行发布以更新数据

特权提升