Sharepoint webpart组合框的列表

时间:2010-05-17 15:17:59

标签: sharepoint web-parts

我有一个可以在列表中工作的webpart但是我正在尝试创建一个包含sharepoint列表列表的下拉列表,以便当用户编辑页面并选择“modify shared webpart”时,他们能够选择一个列表项,然后将其解析回webpart。

任何示例或示例链接都会受到赞赏!

由于

2 个答案:

答案 0 :(得分:0)

您正在寻找的是一个工具部件。请查看this example以获取有关如何创建一个教程的教程。

总的来说,您的一般步骤将是:

  1. 创建继承自Microsoft.SharePoint.WebPartPages.ToolPart
  2. 的自定义Toolpart类
  3. 在自定义工具部件中,覆盖CreateChildControls,编写代码以迭代SPWeb中的列表,并将其添加到DropDownList
  4. 在您的网站部分中,覆盖GetToolParts并添加自定义工具包,使其显示在右侧

答案 1 :(得分:0)

听起来您想要创建自定义编辑器部件。在该部分中,您将有一个下拉列表显示列表的名称(您可能希望过滤隐藏列表和空列表),并且当从列表中选择项目时,第二个下拉列表显示所选项目的标题列名单。

以下是一些代码(在此编辑,因此需要清理)以帮助您入门:

protected Page_Load(...)
{
    if (IsPostBack) return;

    var web = SPContext.Current.Web;
    var query = from list in web.Lists
                where list.Hidden == false && list.ItemCount == 0
                select list;

    DropDownList1.DataSource = query;
    DropDownList1.DataTextField = "Title";
    DropDownList1.DataBind();
}

protected DropDownList1_SelectedIndexChanged(...)
{
    var web = SPContext.Current.Web;
    var listName = DropDownList1.Text;
    var list = web.Lists[listName];
    var table = list.Items.GetDataTable();
    DropDownList2.DataSource = table;
    DropDownList2.DataTextField = "Title";
    DropDownList2.DataValueField = "ID";
    DropDownList2.DataBind();
}