3
- 我有显示内容的web部件。
- 使用Web部件编辑器区域我需要选择显示样式。
- 通过选择样式我需要数据显示在网格或列表或滚动(从下拉列表中)。
- 如何在Web部件编辑器区域中添加自定义属性。
我是新手。在WebPart编辑器中添加定制属性区域
我已经谷歌关于这个,但没有得到。
任何帮助被赞赏。
我是新手。在WebPart编辑器中添加定制属性区域
我已经谷歌关于这个,但没有得到。
任何帮助被赞赏。
我没有得到任何答复这里,但我却能办法找出该 做一些这些。
最后我决定修改EditorPart类。
ApplyChanges()和SyncChanges()方法实质上只是将页面上的更改持久化到个性化blob,反之亦然。这是在页面上渲染一些控件的问题,并且这些方法将值映射到Web部件的属性。
像
Imports Microsoft.VisualBasic
Imports System
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Web.UI.WebControls.WebParts
Imports System.Data
Imports FormsUtilities
Namespace CustomEditorZone
Public Class CustomEditor : Inherits EditorPart
Public Sub New()
Me.Title = "Change Display Style"
End Sub 'New
Private PartPropertyValue As DropDownList
Protected Overrides Sub CreateChildControls()
Controls.Clear()
PartPropertyValue = New DropDownList()
PartPropertyValue.AppendDataBoundItems = True
PartPropertyValue.Items.Add("")
PopulateControl(PartPropertyValue)
Me.Controls.Add(PartPropertyValue)
End Sub 'CreateChildControls
Public Overrides Function ApplyChanges() As Boolean
EnsureChildControls()
Dim MyWebPart As GenericWebPart = DirectCast(WebPartToEdit, GenericWebPart)
Dim MyControl As CustomWebPart.WebPartBaseConsumer = DirectCast(MyWebPart.ChildControl, CustomWebPart.WebPartBaseConsumer)
MyControl.DisplayStyle = PartPropertyValue.SelectedItem.Text
Return True
End Function 'ApplyChanges
Public Overrides Sub SyncChanges()
Try
EnsureChildControls()
Dim MyWebPart As GenericWebPart = DirectCast(WebPartToEdit, GenericWebPart)
Dim MyControl As CustomWebPart.WebPartBaseConsumer = DirectCast(MyWebPart.ChildControl, CustomWebPart.WebPartBaseConsumer)
Dim CurrentDisplay As String = MyControl.DisplayStyle
For Each Item As ListItem In PartPropertyValue.Items
If Item.Text = CurrentDisplay Then
Item.Selected = True
Exit For
End If
Next
Catch ex As Exception
End Try
End Sub 'SyncChanges
Protected Overrides Sub RenderContents(ByVal writer As HtmlTextWriter)
Try
writer.Write("Display Style :")
writer.Write(" ")
Me.PartPropertyValue.RenderControl(writer)
Catch ex As Exception
End Try
End Sub 'RenderContents
Private Sub PopulateControl(ByRef PartPropertyValue As DropDownList)
PartPropertyValue.Items.Add("Grid")
PartPropertyValue.Items.Add("List")
PartPropertyValue.Items.Add("Rolling")
End Sub
End Class 'CustomEditor
End Namespace