我正在尝试将复选框列表添加到webpart。在编辑模式中,将有一个下拉列表,其中包含列表中的字段名称,所选字段将用作webpart中复选框列表条目的显示。
我无法找到任何关于如何使其发挥作用的例子。
答案 0 :(得分:1)
使用自定义ToolPart
创建您的下拉属性:
public class DropdownToolPart : ToolPart
{
protected override void CreateChildControls()
{
DropDownList dropdownList = new DropDownList();
// Code to add field names from SharePoint List to dropdownlist
this.Controls.Add(dropdownList);
base.CreateChildControls();
}
public override void ApplyChanges()
{
CheckBoxListWebPart myWebPart =
(CheckBoxListWebPart)this.ParentToolPane.SelectedWebPart;
//You will need to get the selected value of the dropdown by finding it
//in the Controls collection.
string selectedValue = ...
myWebPart.CheckBoxListDisplayField = selectedValue;
}
}
您的WebPart应执行以下操作以包含ToolPart
:
public class CheckBoxListWebPart: WebPart
{
public string CheckBoxListDisplayField { get; set; }
public override ToolPart[] GetToolParts()
{
ToolPart[] toolParts = new ToolPart[1];
DropdownToolPart myToolPart = new ToolPart();
toolParts[0] = myToolPart;
return toolParts;
}
}
从那里,您应该可以在CreateChildControls
的{{1}}方法中创建复选框列表。在那里,您需要从SharePoint列表中加载项目,然后使用CheckBoxListWebPart
值从每个项目中选择确切的字段值。