0

我正在尝试将复选框列表添加到 web 部件。在编辑模式下,将出现一个下拉列表,其中包含列表中的字段名称,所选字段将用作 web 部件中复选框列表条目的显示。

我无法找到任何有关如何使其正常工作的示例。

4

1 回答 1

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;
  }
}

从那里你应该能够CreateChildControlsCheckBoxListWebPart. 在那里,您需要从 SharePoint 列表中加载项目,然后使用该CheckBoxListDisplayField值从每个项目中选择确切的字段值。

于 2013-01-04T14:36:15.613 回答