我创建了具有一些配置属性的自定义WebPart。这些属性的值是一个网站URL和列表名称。我想显示包含所选网站的所有网站名称和列表的下拉列表。我怎样才能在SharePoint中显示一个属性的自定义编辑器组件?我不想获得默认的文本编辑器。SharePoint中的Web部件的自定义属性编辑器
2
A
回答
2
您将需要创建一个自定义ToolPart。这里是一个指南:在你的WebPart代码http://sharepoint-insight.blogspot.com/2008/10/sharepoint-creating-web-part-with.html
基本上你将需要重写GetToolParts功能,并返回一个ToolPart[]
更改您的toolpart构造函数接受SPWeb
对象(它传递SPContext.Current.Web
对象从Web部件)。要获得列表清单,请在您的工具部分中,在CreateChildControls()
方法中创建一个下拉列表。使用您从构造函数中获得的SPWeb对象,您可以使用每个对象来获取当前网站的所有列表。
所以这样做:
public override ToolPart[] GetToolParts()
{
ToolPart[] tps = new ToolPart[3];
WebPartToolPart wptp = new WebPartToolPart();
CustomPropertyToolPart cptp = new CustomPropertyToolPart();
tps(0) = cptp;
tps(1) = wptp;
tps(2) = new ListSelectionToolPart(SPContext.Current.Web, "List Settings");
return tps;
}
private string _TargetListGUID;
[Personalizable(PersonalizationScope.Shared)]
[WebBrowsable(false)]
[WebDisplayName("Target List GUID")]
[WebDescription("GUID of the Target List")]
[SPWebCategoryName("Internal")]
public string TargetListGUID {
get { return _TargetListGUID; }
set { _TargetListGUID = value; }
}
添加一类是这样的:
public class ListSelectionToolPart : WebPartPages.ToolPart
{
private SPWeb _web;
protected DropDownList ddlLists;
public New(SPWeb Web, string ToolTitle)
{
_web = System.Web;
this.Title = ToolTitle;
}
protected override void CreateChildControls()
{
Literal litLists = new Literal { Text = "<b>List:</b><br />" };
ddlLists = new DropDownList {
AutoPostBack = true,
ID = "ddlLists"
};
ddlLists.Style.Add("width", "100%");
foreach (SPList list in _web.Lists)
{
ddlLists.Items.Add(new ListItem(list.Title, list.ID.ToString()));
}
this.Controls.Add(litLists);
this.Controls.Add(ddlLists);
}
public override void ApplyChanges()
{
(this.ParentToolPane.SelectedWebPart as MyWebPart).TargetListGUID = ddlLists.SelectedValue;
}
}
上面的代码假定您的Web部件的名称是MyWebPart,并且有一个TargetListGUID属性。要添加网站选择,您可以在工具部分中执行几乎相同的操作(添加另一个下拉列表)。如果您使用SelectionChanged事件,则可以使用它来填充列表下拉列表。
相关问题
- 1. SharePoint:自定义Web部件中的FormField?
- 2. 如何编辑位于自定义ASPX中的内容编辑器Web部件?
- 3. 的Sharepoint自定义Web部件
- 4. 自定义Web部件属性
- 5. 在自定义属性(Umbraco)中使用MediaPicker属性编辑器
- 6. 自定义编辑MVC2中模型的自定义属性
- 7. 如何在SharePoint 2010中获得我自定义Web部件的外观属性
- 8. 的Sharepoint自定义Web部件属性不会在工具箱中显示
- 9. 使用TinyMCE的编辑器中的自定义属性角
- 10. 自定义Web部件参数-Sharepoint 2007
- 11. Sharepoint 2010自定义属性
- 12. Sharepoint文档库的自定义编辑
- 13. 确定用于XML的SharePoint Web部件中的属性名称
- 14. Eclipse中的自定义文本编辑器内的小部件
- 15. 可以在SharePoint Web部件连接到自定义SharePoint的WebPart
- 16. 自定义Sharepoint 2010中的自定义CSS属性WebPart
- 17. Web部件编辑区的自定义PropertyGridEditor等?
- 18. 基于ViewModel Dataannotation属性的自定义编辑器模板MVC4
- 19. 将自定义Web部件添加到SharePoint 2010中的自定义ASPX页面
- 20. 如何从SharePoint 2007中的自定义列表创建自定义Web部件
- 21. JBPM - 自定义编辑器定制工作项属性
- 22. ExtJS编辑器网格中的自定义编辑控件
- 23. Sharepoint站点标题中的自定义Web部件
- 24. 如何访问SharePoint Web部件属性?
- 25. 如何建立在asp.net自定义属性编辑器(Web表单)
- 26. 创建自定义Web部件属性适用于所有Web部件
- 27. QAbstractTableModel中的自定义编辑器
- 28. 将属性视图附加到自定义XML编辑器
- 29. Spring MVC自定义类属性编辑器
- 30. Umbraco 7自定义属性编辑器valueType未被使用