在Web部件中使用下拉列表(编辑模式)

时间:2013-01-04 12:07:16

标签: sharepoint sharepoint-2007

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

我无法找到任何关于如何使其发挥作用的例子。

1 个答案:

答案 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值从每个项目中选择确切的字段值。