radTreeView1.DataTextField =
"Title";
radTreeView1.DataFieldID =
"ID";
radTreeView1.DataFieldParentID =
"ParentID";
radTreeView1.DataSource = myResultSet;
radTreeView1.DataBind();
The italized record in the example where parentid and id are sharing the same value of 1 would throw an error "these columns don't currently have unique values." If I remove that record, then it will work.
This example should read if the parentid is null then make it the root element, then map all records with a parentid value to it's corresponding id value, but in this case it does not like the fact that I have a child and parentid matching even though the id field of the second level items should not matter one bit because it shouldn't be factored in the equation.
Thanks in advance.

| Protected Sub RadGrid1_ItemDataBound(ByVal sender As Object, ByVal e As Telerik.Web.UI.GridItemEventArgs) Handles RadGrid1.ItemDataBound |
| If e.Item.OwnerTableView.Name = "ClientTable" Then |
| If e.Item.ItemType = GridItemType.Item Then |
| (...) |
| Protected Sub RadGrid1_ItemDataBound(ByVal sender As Object, ByVal e As _ Telerik.Web.UI.GridItemEventArgs) Handles RadGrid1.ItemDataBound |
| If e.Item.OwnerTableView.Name = "ClientTable" Then |
| If e.Item.ItemType = GridItemType.Item Then |
| Dim DGI As GridItem = DirectCast(e.Item, GridItem) |
| Dim rttEdit As Telerik.Web.UI.RadToolTip = _ |
| DirectCast(DGI.FindControl("rttEdit"), RadToolTip) |
| Dim rttDelete As Telerik.Web.UI.RadToolTip = _ |
| DirectCast(DGI.FindControl("rttDelete"), RadToolTip) |
| rttEdit.Text = "Edit Client" |
| rttDelete.Text = "Delete Client" |
| End If |
| End If |
| End Sub |
Default.aspx
| <%@ Register Src="WebUserControl.ascx" TagName="WebUserControl" TagPrefix="uc1" %> |
| <!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"> |
| <head runat="server"> |
| <title></title> |
| </head> |
| <body> |
| <form id="form1" runat="server"> |
| <div> |
| <telerik:RadScriptManager ID="RadScriptManager1" runat="server"> |
| </telerik:RadScriptManager> |
| <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server"> |
| <AjaxSettings> |
| <telerik:AjaxSetting AjaxControlID="WebUserControl1" EventName="Event1"> |
| <UpdatedControls> |
| <telerik:AjaxUpdatedControl ControlID="Event1Panel" /> |
| </UpdatedControls> |
| </telerik:AjaxSetting> |
| </AjaxSettings> |
| <AjaxSettings> |
| <telerik:AjaxSetting AjaxControlID="WebUserControl1" EventName="Event2"> |
| <UpdatedControls> |
| <telerik:AjaxUpdatedControl ControlID="Event2Panel" /> |
| </UpdatedControls> |
| </telerik:AjaxSetting> |
| </AjaxSettings> |
| </telerik:RadAjaxManager> |
| </div> |
| <uc1:WebUserControl ID="WebUserControl1" runat="server" /> |
| <asp:Panel ID="Event1Panel" runat="server"> |
| Event1Panel<br /> |
| <%= DateTime.Now.ToString() %> |
| </asp:Panel> |
| <asp:Panel ID="Event2Panel" runat="server"> |
| Event2Panel<br /> |
| <%= DateTime.Now.ToString() %> |
| </asp:Panel> |
| </form> |
| </body> |
| </html> |
WebUserControl.ascx
| <asp:Button ID="btn1" runat="server" Text="Event1" /> |
| <asp:Button ID="btn2" runat="server" Text="Event2" /> |
| public partial class WebUserControl : System.Web.UI.UserControl |
| { |
| public event EventHandler<EventArgs> Event1; |
| protected virtual void OnEvent1(EventArgs args) |
| { |
| if (Event1 != null) |
| { |
| Event1(this, args); |
| } |
| } |
| public event EventHandler<EventArgs> Event2; |
| protected virtual void OnEvent2(EventArgs args) |
| { |
| if (Event2 != null) |
| { |
| Event2(this, args); |
| } |
| } |
| protected void Page_Load(object sender, EventArgs e) |
| { |
| btn1.Click += delegate(object o, EventArgs args) |
| { |
| OnEvent1(EventArgs.Empty); |
| }; |
| btn2.Click += delegate(object o, EventArgs args) |
| { |
| OnEvent2(EventArgs.Empty); |
| }; |
| } |
| } |
Why this is not working??