列表的 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 时列表不存在错误