列表的 Sharepoint webpart 组合框

Posted

技术标签:

【中文标题】列表的 Sharepoint webpart 组合框【英文标题】:Sharepoint webpart combobox of lists 【发布时间】:2011-02-20 11:22:48 【问题描述】:

我有一个 webpart 可以在列表之外工作,但我正在尝试创建一个包含共享点列表列表的下拉列表,以便当用户编辑页面并选择“修改共享 webpart”时,他们能够选择一个列表项,然后将其解析回 Webpart。

任何示例或示例链接表示赞赏!

谢谢

【问题讨论】:

【参考方案1】:

您要查找的内容称为 Toolpart。请查看this example,获取有关如何创建的教程。

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

    创建继承自 Microsoft.SharePoint.WebPartPages.ToolPart 的自定义 Toolpart 类 在您的自定义 Toolpart 中,覆盖 CreateChildControls,编写代码以迭代您的 SPWeb 中的列表,并将它们添加到 DropDownList 在您的 webpart 中,覆盖 GetToolParts 并添加您的自定义 ToolPart,使其显示在右侧

【讨论】:

非常感谢这是我所走的路线,而 MSDN 文章让我继续前进。【参考方案2】:

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

这里有一些代码(在此处编辑,因此需要清理)来帮助您入门:

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();

【讨论】:

以上是关于列表的 Sharepoint webpart 组合框的主要内容,如果未能解决你的问题,请参考以下文章

sharepoint 2013列表视图Webpart过滤器下拉列表

【高分悬赏】在sharepoint里添加webpart,webpart读取列表中添加的信息并显示,怎么写

添加 webPart SharePoint 2013 时列表不存在错误

sharepoint webpart xlsx 要列出

在自定义 SharePoint Online Webpart 中显示列表

将列表中的值检索到 SharePoint Webpart 中的 Gridview?