Private Sub GenerateTreeView() |
' parent node |
Dim level1RadTreeNode As RadTreeNode = New RadTreeNode() |
level1RadTreeNode.NodeTemplate = New NodeTemplate("1", True, False, 1) |
' child node |
Dim level2ChildRadTreeNode As RadTreeNode = New RadTreeNode() |
level2ChildRadTreeNode.NodeTemplate = New NodeTemplate("1.1", True, False, 2) |
level1RadTreeNode.Nodes.Add(level2ChildRadTreeNode) |
' child node |
level2ChildRadTreeNode = New RadTreeNode() |
level2ChildRadTreeNode.NodeTemplate = New NodeTemplate("1.2", True, False, 2) |
|
' child node |
Dim level3SubChildRadTreeNode As RadTreeNode = New RadTreeNode() |
level3SubChildRadTreeNode.NodeTemplate = New NodeTemplate("1.2.1", True, False, 3) |
level2ChildRadTreeNode.Nodes.Add(level3SubChildRadTreeNode) |
' child node |
level3SubChildRadTreeNode = New RadTreeNode() |
level3SubChildRadTreeNode.NodeTemplate = New NodeTemplate("1.2.2", True, False, 3) |
level2ChildRadTreeNode.Nodes.Add(level3SubChildRadTreeNode) |
level1RadTreeNode.Nodes.Add(level2ChildRadTreeNode) |
uxRadTreeView.Nodes.Add(level1RadTreeNode) |
' parent node |
level1RadTreeNode = New RadTreeNode() |
level1RadTreeNode.NodeTemplate = New NodeTemplate("2", False, True, 1) |
uxRadTreeView.Nodes.Add(level1RadTreeNode) |
uxRadTreeView.DataBind() |
End Sub |
|
Class NodeTemplate |
Implements ITemplate |
Public text As String |
Public allow As Boolean |
Public deny As Boolean |
Public level As Integer |
|
Public Sub New(ByVal text As String, ByVal allow As Boolean, ByVal deny As Boolean, ByVal level As Integer) |
Me.text = text |
Me.allow = allow |
Me.deny = deny |
Me.level = level |
End Sub |
|
Public Sub InstantiateIn(ByVal container As Control) Implements System.Web.UI.ITemplate.InstantiateIn |
Dim nodeText As Label = New Label() |
nodeText.ID = "ItemLabel" |
nodeText.Text = text |
nodeText.Width = 100 + ((5 - level) * 20) |
|
Dim checkbox1 As CheckBox = New CheckBox() |
checkbox1.ID = "uxAllow" |
If allow Then checkbox1.Checked = True |
|
Dim checkbox2 As CheckBox = New CheckBox() |
checkbox2.ID = "uxDeny" |
If deny Then checkbox2.Checked = True |
|
container.Controls.Add(nodeText) |
container.Controls.Add(checkbox1) |
container.Controls.Add(checkbox2) |
End Sub |
End Class |