Imports Telerik.WebControls |
Imports System.Data.OleDb |
Imports System.Data |
Partial Class _Default |
Inherits System.Web.UI.Page |
Protected Sub form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles form1.Load |
If Not IsPostBack Then |
RadTreeView1.DataFieldID = "ParameterID" |
RadTreeView1.DataValueField = "ParameterID" |
RadTreeView1.DataTextField = "ParameterName" |
RadTreeView1.DataFieldParentID = "ParentID" |
RadTreeView1.DataSource = GetDataSource() |
RadTreeView1.DataBind() |
BindingTree(RadTreeView1.Nodes) |
End If |
|
End Sub |
Private Function GetDataSource() As DataTable |
Dim Con As New OleDbConnection("MyConnectionString") |
Dim Cmd As New OleDbCommand |
Dim Adp As New OleDbDataAdapter(Cmd) |
Dim Dataset As New DataSet |
Cmd.Connection = Con |
Con.Open() |
Cmd.CommandText = "SELECT * FROM [TBL]" |
Adp.Fill(Dataset) |
Con.Close() |
Return Dataset.Tables(0) |
End Function |
Private Sub BindingTree(ByVal MyNode As RadTreeNodeCollection) |
For index As Integer = 0 To MyNode.Count - 1 |
If MyNode(index).Nodes.Count > 0 Then |
BindingTree(MyNode(index).Nodes) |
Else |
Dim mylit As New Literal |
mylit.Text = "<input type=""radio"" value=""" & MyNode(index).Value & """ name=""" & GetMainParentID(MyNode(index)).ToString & """ />" & MyNode(index).Text |
MyNode(index).Controls.Clear() |
MyNode(index).Controls.Add(mylit) |
|
End If |
Next |
|
End Sub |
Private Function GetStep(ByVal MyNode As RadTreeNode) As Int32 |
If Not MyNode.Parent Is Nothing Then |
Return GetStep(MyNode.Parent) + 1 |
Else |
Return 0 |
End If |
End Function |
Private Function GetMainParentID(ByVal MyNode As RadTreeNode) As Int32 |
Dim ChildStep As Int32 = GetStep(MyNode) |
Dim MainParentNode As RadTreeNode |
MainParentNode = MyNode |
For index As Integer = 1 To ChildStep |
MainParentNode = MainParentNode.Parent |
Next |
Return MainParentNode.Value |
End Function |
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click |
|
Dim Hshtbl As New Hashtable |
Session("MyHsh") = Hshtbl |
ExtractData(RadTreeView1.Nodes) |
Hshtbl = Session("MyHsh") |
For Each TempObj As Object In Hshtbl.Values |
Response.Write(TempObj.ToString + "<BR>") |
Next |
End Sub |
Private Sub ExtractData(ByVal MyNode As RadTreeNodeCollection) |
For index As Integer = 0 To MyNode.Count - 1 |
If MyNode(index).Nodes.Count > 0 Then |
ExtractData(MyNode(index).Nodes) |
Else |
|
If Not Request.Form(GetMainParentID(MyNode(index)).ToString) = "" Then |
CType(Session("MyHsh"), Hashtable).Item(GetMainParentID(MyNode(index)).ToString) = Request.Form(GetMainParentID(MyNode(index)).ToString) |
Exit For |
End If |
End If |
Next |
|
End Sub |
End Class |
|