Do you think you could help me with a related problem. I have the treeview getting populated within the panel, but the rad panel with the tree view won't collapse. The other two with static content behave properly, but the one with the tree view just stays open. You can go here to check out what I mean.
http://alpha.clickablecommunity.com/
Here is my aspx page.
<%
@ Master Language="VB" AutoEventWireup="false" CodeBehind="MasterPage.master.vb" Inherits="ClickableCommunity.MasterPage" %>
<%
@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %>
<!
DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml">
<
html xmlns="http://www.w3.org/1999/xhtml" >
<%
@ import namespace="System.Data" %>
<%
@ import namespace="System.Data.Sql" %>
<%
@ import namespace="System.Data.SqlClient" %>
<%
@ import namespace="Telerik.Web.UI" %>
<
script runat="server">
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Not Page.IsPostBack Then
Dim tree As RadTreeView = DirectCast(RadPanelBar1.Items(0).FindControl("RadTreeView1"), RadTreeView)
'here is where the error is. it is saying that
'createtable is null
tree.DataSource = CreateTable()
tree.DataFieldID =
"ID"
tree.DataFieldParentID =
"ParentID"
tree.DataTextField =
"Text"
tree.DataBind()
End If
End Sub 'page_load
'this function creates a datatable for the rad
'tree that is in the events panel
Private Function CreateTable() As DataTable
'set up my connection to the database
Dim conn As New SqlConnection
conn.ConnectionString = ConfigurationManager.ConnectionStrings(
"connectionString").ConnectionString
Dim table As DataTable = New DataTable()
table.Columns.Add(
"ID")
table.Columns.Add(
"ParentID")
table.Columns.Add(
"Text")
'this is a counter for the id fields
'of the data table
Dim count As Integer = 1
'this adds the parent categories to the
'datatable
Dim categoryQuery As New SqlCommand
conn.Open()
categoryQuery.Connection = conn
categoryQuery.CommandText =
"select CategoryId, Name from categories"
Dim cdr As SqlDataReader = categoryQuery.ExecuteReader()
While cdr.Read()
If (cdr.Item(0).ToString <> "") Then
table.Rows.Add(
New String() {count.ToString, Nothing, cdr.Item(1).ToString})
'we have to increment count to keep an id for the data table
count = count + 1
End If
End While 'while cdr.Read()
conn.Close()
conn.Open()
'this adds the events with their parent category
'id to the datatable
Dim eventQuery As New SqlCommand
eventQuery.Connection = conn
eventQuery.CommandText =
"SELECT eventid, FK_CategoryID, name from events"
Dim edr As SqlDataReader = eventQuery.ExecuteReader()
While edr.Read()
If (edr.Item(0).ToString <> "") Then
table.Rows.Add(
New String() {count.ToString(), edr.Item(1).ToString, edr.Item(2).ToString})
'we have to increment count to keep an id for the data table
count = count + 1
End If
End While 'while edr.Read()
Return table
End Function 'CreateGenreTable
</
script>
<
head runat="server">
<link href="ClickableCommunity.css" rel="stylesheet" type="text/css" />
<title></title>
<asp:ContentPlaceHolder ID="head" runat="server">
</asp:ContentPlaceHolder>
</
head>
<
body id="MasterBody" runat="server" style="margin: 0px; height: 100%; overflow: hidden;" scroll="no">
<form id="Form1" method="post" runat="server" style="height: 100%">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager><br />
<asp:ContentPlaceHolder ID="header" runat="server">
<div id="topDiv"></div>
</asp:ContentPlaceHolder>
<telerik:RadSplitter ID="RadSplitter1" runat="server" Orientation="Vertical" Width="100%"
Height="100%" CssClass="AllContent">
<telerik:RadPane ID="LeftRadPane1" runat="server" Width="220px" Scrolling="Both" BorderStyle="None" BorderSize="0">
<div id="leftPanel">
<telerik:RadPanelBar ID="RadPanelBar1" runat="server" Skin="Web20" ExpandMode="SingleExpandedItem"
AllowCollapseAllItems="true" Width="220px">
<CollapseAnimation Type="None" Duration="100"></CollapseAnimation>
<Items>
<telerik:RadPanelItem runat="server" Text="Events">
<ItemTemplate>
<telerik:RadTreeView ID="RadTreeView1" runat="server" Skin="Web20" CssClass="leftPanelContent">
</telerik:RadTreeView>
</ItemTemplate>
</telerik:RadPanelItem>
<telerik:RadPanelItem runat="server" Text="Calendar" ChildGroupCssClass="leftPanelContent">
<Items>
<telerik:RadPanelItem runat="server" Text="Child RadPanelItem 1">
</telerik:RadPanelItem>
<telerik:RadPanelItem runat="server" Text="Child RadPanelItem 2">
</telerik:RadPanelItem>
</Items>
</telerik:RadPanelItem>
<telerik:RadPanelItem runat="server" Text="Administrator" ChildGroupCssClass="leftPanelContent">
<Items>
<telerik:RadPanelItem runat="server" Text="Child RadPanelItem 1">
</telerik:RadPanelItem>
<telerik:RadPanelItem runat="server" Text="Child RadPanelItem 2">
</telerik:RadPanelItem>
</Items>
</telerik:RadPanelItem>
</Items>
<ExpandAnimation Type="None" Duration="100"></ExpandAnimation>
</telerik:RadPanelBar>
</div>
</telerik:RadPane>
<telerik:RadSplitBar runat="server" ID="RadSplitBar2" CollapseMode="Forward" EnableResize="false" ForeColor='Green'/>
<telerik:RadPane ID="RightRadPane1" runat="server" CssClass="RightPanelPadding"
Scrolling="Both" BorderStyle="None" BorderSize="0">
<asp:ContentPlaceHolder ID="MainContent" runat="server"></asp:ContentPlaceHolder>
</telerik:RadPane>
</telerik:RadSplitter>
</form>
</
body>
</
html>