Telerik Forums
UI for ASP.NET AJAX Forum
6 answers
115 views
I'm getting this error when I click on the spell check button in the rad editor.  

Item has already been added.  Key in dictionary '6'  Key being added : '6'

I have the handler set up in the web.config, and have the tdf files in the App_Data\RadSpell folder.

I've attached a screenshot of the error I'm getting.

Thanks,
Aaron
Aaron
Top achievements
Rank 1
 answered on 27 Aug 2012
3 answers
134 views
Hii,
        I have a xxx.aspx page where i used a radsplitter. I divided the radSplitter into 2 radpanes. On left Radpane i am viewing an image and on right side i have some user controls where the user can give input and click submit. On code behind i am setting the focus on one of the Radtextbox when ever the page loads. I am able to get the focus on the radtextbox but, once the image loads on the radpane radtextbox is loosing its focus. So Please some one help me out with an appropriate solution??

Thans & Regards
Dev Jagarlamudi
Vessy
Telerik team
 answered on 27 Aug 2012
1 answer
35 views
Hi,all,

      I could not believe what I saw,but some of my telerik controls including RadTextBox,RadAsyncUpload,RadDatePicker was missing in IE7.I  have  tried to remove all the control's style,but nothing has been changed and the controls kept missing.
     What's the matter?How could this happen?

    Anybody can help me?
   
    Thanks in advance.
     
Nencho
Telerik team
 answered on 27 Aug 2012
1 answer
90 views
Hi,

Will RadCompression benefit of the Compression Enhancements in .NET 4.5?

Best Regards.
Andrey
Telerik team
 answered on 27 Aug 2012
1 answer
61 views
I can't seem to find my Tabstrip from Code behind. here is my setup:

Codebehind where I try and find tabstrip is loaded from a usercontrol in a multipage

C#
RadTabStrip tabstrip = (RadTabStrip)Page.Master.FindControl("RadTabStrip1"); //This returns null
RadTab SelectedTab = tabstrip.Tabs.FindTabByText("Testers"); //and blows up at this line

 Tabstrip , ajax loading panel, and multipage  is setup like this:
<telerik:RadTabStrip ID="RadTabStrip1" runat="server" SelectedIndex="0" MultiPageID="RadMultiPage2" OnClientTabSelecting="onTabSelecting" OnTabClick="RadTabStrip1_TabClick"></telerik:RadTabStrip>
       <script type="text/javascript">
           function onTabSelecting(sender, args) {
               if (args.get_tab().get_pageViewID()) {
                   args.get_tab().set_postBack(false);
               }
           }
       </script>
<telerik:RadAjaxLoadingPanel runat="server" ID="LoadingPanel1">
</telerik:RadAjaxLoadingPanel>
   <telerik:RadAjaxManager runat="server" ID="RadAjaxManager1">
       <AjaxSettings>
           <telerik:AjaxSetting AjaxControlID="RadTabStrip1">
               <UpdatedControls>
                   <telerik:AjaxUpdatedControl ControlID="RadTabStrip1" />
                   <telerik:AjaxUpdatedControl ControlID="RadMultiPage2" LoadingPanelID="LoadingPanel1" />
               </UpdatedControls>
           </telerik:AjaxSetting>
           <telerik:AjaxSetting AjaxControlID="RadMultiPage2">
               <UpdatedControls>
                   <telerik:AjaxUpdatedControl ControlID="RadMultiPage2" LoadingPanelID="LoadingPanel1" />
               </UpdatedControls>
           </telerik:AjaxSetting>
       </AjaxSettings>
   </telerik:RadAjaxManager>
 
   <telerik:RadSkinManager ID="RadSkinManager1" Runat="server" Skin="Office2010Blue"></telerik:RadSkinManager>
   <telerik:RadProgressManager ID="RadProgressManager1" Runat="server"/>
 
   <div>
     <br/>
     <telerik:RadMultiPage ID="RadMultiPage2" runat="server" SelectedIndex="0" OnPageViewCreated="RadMultiPage1_PageViewCreated"></telerik:RadMultiPage>
   </div>

Any ideas? 

Thanks
Nencho
Telerik team
 answered on 27 Aug 2012
5 answers
128 views
Hi!

My customers like the "inline" spellcheck mode that the RAD Editor provides.  How can I tie the inline spellcheck to a standard control?

I hope that I'm not overlooking something obvious...I see many examples of using the popup spell checker, but not how to use the inline editor with a non-RAD control.

Thanks!  I really enjoy the tools.

Rich
Rumen
Telerik team
 answered on 27 Aug 2012
1 answer
78 views
hi

i wonder if you can help

i have set up a radgrid with the google style filtering as explained here google like filter
i have combined it with some other features , but for whatever reason now it wont re-apply the filter on postback and i dont know why it has the filter items in the boxes, but is just not filtering the table anymore.

can anyone help ?

the grid is defined as
<telerik:RadGrid ID="RadGrid1" runat="server" OnColumnCreating="RadGrid1_ColumnCreating"
            OnNeedDataSource="RadGrid1_NeedDataSource" OnRowDrop="RadGrid1_RowDrop"
            AllowPaging="true" AllowSorting="true" Width="99%" PageSize="5" AutoGenerateColumns="false"
            AllowFilteringByColumn="True" AllowMultiRowSelection="true" Skin="Black" EnableLinqExpressions="false">
            <MasterTableView AllowFilteringByColumn="true" PageSize="15" EditMode="InPlace" TableLayout="Auto" >
            </MasterTableView>
            <PagerStyle Mode="NextPrevAndNumeric" />
            <ClientSettings AllowRowsDragDrop="True" AllowColumnsReorder="false">
                <Selecting AllowRowSelect="True" EnableDragToSelectRows="false" />
            </ClientSettings>
        </telerik:RadGrid>

i have an ajax manager

<telerik:RadAjaxManager ID="RadAjaxManager1" runat="server" DefaultLoadingPanelID="RadAjaxLoadingPanel1">
        <AjaxSettings>
            <telerik:AjaxSetting AjaxControlID="RadGrid1">
                <UpdatedControls>
                    <telerik:AjaxUpdatedControl ControlID="RadGrid1" />
                    <telerik:AjaxUpdatedControl ControlID="point_selection" />
                </UpdatedControls>
            </telerik:AjaxSetting>
        </AjaxSettings>
    </telerik:RadAjaxManager>

and the following events defined
protected void RadGrid1_NeedDataSource(object source, GridNeedDataSourceEventArgs e)
{
    this.RadGrid1.DataSource = Classes.clsGlobal.FlowsData;
    this.RadGrid1.DataMember = Classes.clsGlobal.FlowsData.Tables[0].TableName;
}
 
protected void RadGrid1_ColumnCreating(object sender, GridColumnCreatingEventArgs e)
{
    if ((e.ColumnType == typeof(DailyFlowsFilter).Name))
    {
        e.Column = new DailyFlowsFilter();
    }
}
 
protected void RadGrid1_RowDrop(object sender, GridDragDropEventArgs e)
{
    IList<FlowItem> MyFlows = SelectedFlows;
 
    foreach (GridDataItem GD in e.DraggedItems)
    {
        FlowItem NewFlow = new FlowItem(GD["flow_item_name"].Text, GD["from_country"].Text, GD["to_country"].Text,
                                        GD["from_sys_op"].Text, GD["to_sys_op"].Text, GD["gas_type"].Text, GD["id"].Text,
                                        GD["source_id"].Text, GD["point_type"].Text, GD["source"].Text, GD["nominations"].Text, GD["flow_item_type"].Text);
        MyFlows.Add(NewFlow);
    }
 
    SelectedFlows = MyFlows;
    point_selection.Rebind();
}

please can you help
Kostadin
Telerik team
 answered on 27 Aug 2012
3 answers
328 views
Hi

I am using Treeview control to create Levels called Layers (folders) and insurers (Files). I have added Add Layer and Add Insurer Context Menu items when Right clicking on Layer. I want to achieve following things.

1.Disable add new layer and add new Insurer context menu when you right click on an existing insurer name.

Add validation to prevent adding two layers with the same name at same Layer?


Thanks,
Krantikumar Jain

Below is my code.
TRV_DEMO.aspx


<%@ Page Language="vb" AutoEventWireup="false" Codebehind="TRV_DEMO.aspx.vb" ValidateRequest="false" Inherits="TreeViewControl.TRV_DEMO"
    Title="Tree View Control DEMO" %>

<%@ 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">
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
        <table border="0" cellpadding="5" cellspacing="5" width="800" >
            <tr>
                <td>
                    <div>
                        <asp:Panel runat="server" ID="pnl1" BorderColor="Maroon">
                            <table>
                                <tr>
                                    <td style="height: 50px">
                                        <asp:Button ID="btnGrp" runat="server" Text="Add Layer" />
                                        <asp:Button ID="btnChild" runat="server" Text="Add Insurer" />
                                    </td>
                                    <td style="height: 50px">
                                        <asp:Button ID="btnInsurerDelete" runat="server" Text="Delete Insurer" /></td>
                                    <td style="height: 50px">
                                        <asp:Button ID="btnDeleteLayer" runat="server" Text="Delete Layer" /></td>
                                </tr>
                            </table>
                        </asp:Panel>
                    </div>
                    <br />
                    <br />
                    <br />
                    <asp:Panel runat="server" ID="Pnl2">
                        <div>
                            <telerik:RadScriptManager ID="RadScriptManager1" runat="server">
                            </telerik:RadScriptManager>
                            <script type="text/javascript">
            //<!--
                function onClientContextMenuShowing(sender, args)
                {
                    var treeNode = args.get_node();
                    treeNode.set_selected(true);
                    //enable/disable menu items
                    setMenuItemsState(args.get_menu().get_items(), treeNode);
                }
                
                function onClientContextMenuItemClicking(sender, args)
                {
                    var menuItem = args.get_menuItem();
                    var treeNode = args.get_node();
                    menuItem.get_menu().hide();
                    
                    switch(menuItem.get_value())
                    {
                        case "Copy":
                            break;
                        case "Rename":
                            treeNode.startEdit();
                            break;
                        case "NewLayer":
                            break;
                        case "NewInsurer":
                            break;    
                        case "Delete":
                            var result = confirm("Are you sure you want to delete the item: " + treeNode.get_text());
                            args.set_cancel(!result);
                            break;                            
                    }
                }
 
           
                //this method disables the appropriate context menu items
                function setMenuItemsState(menuItems, treeNode)
                {
                    for (var i=0; i<menuItems.get_count(); i++)
                    {
                        var menuItem = menuItems.getItem(i);
                        switch(menuItem.get_value())
                        {
                            case "Copy":
                                formatMenuItem(menuItem, treeNode, 'Copy "{0}"');
                                break;
                            case "Rename":
                                formatMenuItem(menuItem, treeNode, 'Rename "{0}"');
                                break;
                            case "Delete":
                                formatMenuItem(menuItem, treeNode, 'Delete "{0}"');
                                break;                                
                            case "NewLayer":
                                if (treeNode.get_parent() == treeNode.get_treeView())
                                {
                                    menuItem.set_enabled(true);
                                }
                                else
                                {
                                    menuItem.set_enabled(true);
                                }
                          
                                break;
                            case "NewInsurer":
                                if (treeNode.get_parent() == treeNode.get_treeView())
                                {
                                    menuItem.set_enabled(true);
                                }
                                else
                                {
                                    menuItem.set_enabled(true);
                                }
                          
                                break;    
                        }
                    }
                }
                
                //formats the Text of the menu item
                function formatMenuItem(menuItem, treeNode, formatString)
                {
                    var nodeValue = treeNode.get_value();
                    if (nodeValue && nodeValue.indexOf("_Private_") == 0)
                    {
                        menuItem.set_enabled(false);
                    }
                    else
                    {
                        menuItem.set_enabled(true);
                    }
                    var newText = String.format(formatString, extractTitleWithoutMails(treeNode));
                    menuItem.set_text(newText);
                }
            
             //checks if the text contains (digit)
                function hasNodeMails(treeNode)
                {
                    return treeNode.get_text().match(/\([\d]+\)/ig);
                }
                
                //removes the brackets with the numbers,e.g. Inbox (30)
                function extractTitleWithoutMails(treeNode)
                {
                    return treeNode.get_text().replace(/\s*\([\d]+\)\s*/ig, "");
                }
                
            //-->
                            </script>

                        </div>
                    </asp:Panel>
                    <table  style="border: solid 1px #000; width: 100%; height: 400px; overflow: auto; vertical-align: top;" cellpadding="5" cellspacing="5">
                        <tr>
                            <td>
                                <asp:Panel runat="server" ID="pnlTV">
                                    <telerik:RadTreeView ID="RadTreeView1" runat="server" AllowNodeEditing="true" OnContextMenuItemClick="RadTreeView1_ContextMenuItemClick"
                                        OnClientContextMenuItemClicking="onClientContextMenuItemClicking" OnClientContextMenuShowing="onClientContextMenuShowing"
                                        OnNodeClick="RadTreeView1_NodeClick" OnNodeEdit="RadTreeView1_NodeEdit">
                                        <ContextMenus>
                                            <telerik:RadTreeViewContextMenu ID="MainContextMenu" runat="server">
                                                <Items>
                                                    <telerik:RadMenuItem Value="Copy" Text="Copy ..." ImageUrl="">
                                                    </telerik:RadMenuItem>
                                                    <telerik:RadMenuItem Value="Rename" Text="Rename ..." Enabled="false" ImageUrl=""
                                                        PostBack="false">
                                                    </telerik:RadMenuItem>
                                                    <telerik:RadMenuItem Value="NewLayer" Text="New Layer" ImageUrl="">
                                                    </telerik:RadMenuItem>
                                                    <telerik:RadMenuItem Value="NewInsurer" Text="New Insurer" ImageUrl="">
                                                    </telerik:RadMenuItem>
                                                    <telerik:RadMenuItem Value="Delete" Text="Delete Folder" ImageUrl="">
                                                    </telerik:RadMenuItem>
                                                    <telerik:RadMenuItem IsSeparator="true">
                                                    </telerik:RadMenuItem>
                                                </Items>
                                                <CollapseAnimation Type="none" />
                                            </telerik:RadTreeViewContextMenu>
                                            <telerik:RadTreeViewContextMenu ID="EmptyLayerContextMenu" runat="server">
                                                <Items>
                                                    <telerik:RadMenuItem Value="NewLayer" Text="New Layer" ImageUrl="">
                                                    </telerik:RadMenuItem>
                                                     <telerik:RadMenuItem Value="NewInsurer" Text="New Insurer" ImageUrl="">
                                                    </telerik:RadMenuItem>
                                                    <telerik:RadMenuItem IsSeparator="true">
                                                    </telerik:RadMenuItem>
                                                    <telerik:RadMenuItem Value="EmptyLayer" Text="Empty this Layer" ImageUrl="">
                                                    </telerik:RadMenuItem>
                                                </Items>
                                                <CollapseAnimation Type="none" />
                                            </telerik:RadTreeViewContextMenu>
                                        </ContextMenus>
                                        <Nodes>
                                            <telerik:RadTreeNode runat="server"  Text="POLICY" Expanded="true" ImageUrl="Images/Layer.jpg"  AllowDrag="false">
                                            </telerik:RadTreeNode>
                                        </Nodes>
                                    </telerik:RadTreeView>
                                </asp:Panel>
                            </td>
                            <td>
                                <div>
                                    <asp:Panel runat="server" ID="pnlGrp" Visible="false">
                                        <table border="2" cellpadding="5" cellspacing="5">
                                            <tr>
                                                <td>
                                                    <asp:Label ID="Layer" runat="server" Text="Layer"></asp:Label>
                                                </td>
                                                <td>
                                                 <telerik:RadTextBox  ID="txtLayer" runat="server">
                                                  </telerik:RadTextBox>
                                                </td>
                                            </tr>
                                            <tr>
                                                <td>
                                                    <asp:Label ID="Label2" runat="server" Text="Percentage (%)"></asp:Label>
                                                </td>
                                                <td>
                                                 <telerik:RadNumericTextBox  Type="Percent" ID="txtLayerPercentage" runat="server">
                                                        <NumberFormat AllowRounding="true" />
                                                  </telerik:RadNumericTextBox>
                                                </td>
                                            </tr>
                                            <tr>
                                                <td>
                                                    <asp:Button ID="btnAddLayer" runat="server" Text="Add Layer" />
                                                </td>
                                                <td>
                                                    <asp:Button ID="btnEditLayer" runat="server" Text="Edit Layer" />
                                                </td>
                                            </tr>
                                        </table>
                                    </asp:Panel>
                                </div>
                                <div>
                                    <asp:Panel runat="server" ID="pnlChild" Visible="false">
                                        <table border="2" cellpadding="5" cellspacing="5">
                                       <%--    <asp:DropDownList ID="ddInsurer" runat="server" OnSelectedIndexChanged="ddInsurer_SelectedIndexChanged">
                                                        <asp:ListItem>ALL STATE</asp:ListItem>
                                                        <asp:ListItem>NATION WIDE</asp:ListItem>
                                                        <asp:ListItem>PROGRESSIVE</asp:ListItem>
                                                        <asp:ListItem>GEICO</asp:ListItem>
                                                        <asp:ListItem>ESURANCE</asp:ListItem>
                                                        <asp:ListItem>AIG-AUTO</asp:ListItem>
                                                    </asp:DropDownList>
                                                --%> <tr>
                                                <td>
                                                    <asp:Label ID="lbleInsuree" runat="server" Text="Insurer"></asp:Label>
                                                </td>
                                                <td>
                                                  <telerik:RadComboBox AllowCustomText="true" Enabled="true" runat="server" ID="cmbInsurer" Width="150px">
                                                        <Items>
                                                            <telerik:RadComboBoxItem Text="" Value=""></telerik:RadComboBoxItem>
                                                            <telerik:RadComboBoxItem Text="21st Century" Value="21st Century"></telerik:RadComboBoxItem>
                                                            <telerik:RadComboBoxItem Text="ALL STATE" Value="ALL STATE"></telerik:RadComboBoxItem>
                                                            <telerik:RadComboBoxItem Text="FARMERS INSURANCE" Value="FARMERS INSURANCE"></telerik:RadComboBoxItem>
                                                            <telerik:RadComboBoxItem Text="NATION WIDE" Value="NATION WIDE"></telerik:RadComboBoxItem>
                                                            <telerik:RadComboBoxItem Text="PROGRESSIVE" Value="PROGRESSIVE"></telerik:RadComboBoxItem>
                                                            <telerik:RadComboBoxItem Text="GEICO" Value="GEICO"></telerik:RadComboBoxItem>
                                                            <telerik:RadComboBoxItem Text="ESURANCE" Value="ESURANCE"></telerik:RadComboBoxItem>
                                                            <telerik:RadComboBoxItem Text="AIG-AUTO" Value="AIG-AUTO"></telerik:RadComboBoxItem>
                                                        </Items>
                                                    </telerik:RadComboBox>
                                                </td>
                                            </tr>    
                                              <%--  <tr>
                                                    <td>
                                                        <asp:Label ID="Label1" runat="server" Text="Insurer"></asp:Label></td>
                                                    <td>
                                                    <telerik:RadTextBox  ID="txtInsurer" runat="server">
                                                      </telerik:RadTextBox>
                                                    </td>
                                                </tr>--%>
                                            <tr>
                                                <td>
                                                    <asp:Label ID="InsPer" runat="server" Text="Percentage (%)"></asp:Label>
                                                </td>
                                                <td>
                                                 <telerik:RadNumericTextBox  Type="Percent" ID="txtPercentage" runat="server">
                                                        <NumberFormat AllowRounding="true" />
                                                  </telerik:RadNumericTextBox>
                                                </td>
                                            </tr>
                                            <tr>
                                                <td>
                                                    <asp:Button ID="btnInsurerAdd" runat="server" Text="Add Insurer" />
                                                </td>
                                                <td>
                                                    <asp:Button ID="btnInsurerEdit" runat="server" Text="Edit Insurer" />
                                                </td>
                                            </tr>
                                        </table>
                                    </asp:Panel>
                                </div>
                            </td>
                        </tr>
                    </table>
                    <br />
                    <br />
                    <br />
                    <br />
                    <table>
                        <tr>
                            <td>
                                <asp:Button ID="btnXML" runat="server" Text="Export XML" />
                            </td>
                            <td>
                                <asp:Button ID="btnClear" runat="server" Text="Clear XML" Visible="false" />
                            </td>
                        </tr>
                        <tr>
                            <td colspan="2">
                                <asp:TextBox ID="txtXML" runat="server" Height="294px" TextMode="MultiLine" Width="673px"
                                    Visible="false"></asp:TextBox></td>
                        </tr>
                    </table>
                </td>
            </tr>
        </table>
    </form>
</body>
</html>

Code behind file TRV_DEMO.aspx.vb




Imports System
Imports System.Collections
Imports System.ComponentModel
Imports System.Data
Imports System.Drawing
Imports System.Web
Imports System.Web.SessionState
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Web.UI.HtmlControls
Imports System.Text.RegularExpressions
Imports Telerik.Web.UI
Imports System.IO
Imports System.Xml


Partial Public Class TRV_DEMO
    Inherits System.Web.UI.Page
    Protected Const unreadPattern As String = "\(\d+\)"

    'Diabled all the panels and Delete Layer and Delete Insure buttons
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

        pnlGrp.Visible = False
        pnlChild.Visible = False
        btnDeleteLayer.Enabled = False
        btnInsurerDelete.Enabled = False


    End Sub

    Protected Sub btnGrp_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnGrp.Click

        'Enable the Group Layer creation panel
        pnlGrp.Visible = True
        pnlChild.Visible = False
        'Disable the Edit option while adding the Layer
        btnEditLayer.Visible = False
        btnAddLayer.Visible = True
        txtLayer.Text = ""
        txtLayerPercentage.Text = ""
    End Sub

    Protected Sub btnChild_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnChild.Click

        'Enable the Group Layer creation panel
        pnlChild.Visible = True
        pnlGrp.Visible = False

        'Disable the Edit option while adding the Insurer
        btnInsurerEdit.Visible = False
        btnInsurerAdd.Visible = True
        cmbInsurer.Text = ""
        txtPercentage.Text = ""
    End Sub



    'this method is used by Mark All as Read and Empty this folder
    Protected Sub EmptyLayer(ByVal node As RadTreeNode, ByVal removeChildNodes As Boolean)
        node.Font.Bold = False
        node.Text = Regex.Replace(node.Text, unreadPattern, "")

        If removeChildNodes Then
            'Empty this folder is clicked
            Dim i As Integer = node.Nodes.Count - 1
            While i >= 0
                node.Nodes.RemoveAt(i)
                System.Math.Max(System.Threading.Interlocked.Decrement(i), i + 1)
            End While
        Else
            'Mark all as read is clicked
            For Each child As RadTreeNode In node.Nodes
                EmptyLayer(child, removeChildNodes)
            Next
        End If
    End Sub

    Protected Sub RadTreeView1_ContextMenuItemClick(ByVal sender As Object, ByVal e As RadTreeViewContextMenuEventArgs)
        Dim clickedNode As RadTreeNode = e.Node
        If (clickedNode.Value <> "") Then
            e.MenuItem.Enabled = False
        End If

        Select Case e.MenuItem.Value
            Case "Copy"
                Dim clonedNode As RadTreeNode = clickedNode.Clone()
                clonedNode.Text = String.Format("Copy of {0}", clickedNode.Text)
                clickedNode.InsertAfter(clonedNode)
                'set node's value so we can find it in startNodeInEditMode
                clonedNode.Value = clonedNode.GetFullPath("/")
                clonedNode.Selected = True
                startNodeInEditMode(clonedNode.Value)
                Exit Select
            Case "NewLayer"
                Dim NewLayer As New RadTreeNode(String.Format("New Layer {0}", clickedNode.Nodes.Count + 1))
                NewLayer.Selected = True
                NewLayer.ImageUrl = clickedNode.ImageUrl
                clickedNode.Nodes.Add(NewLayer)
                clickedNode.Expanded = True
                'update the number in the brackets
                'If Regex.IsMatch(clickedNode.Text, unreadPattern) Then
                '    clickedNode.Text = Regex.Replace(clickedNode.Text, unreadPattern, "(" + clickedNode.Nodes.Count.ToString() + ")")
                'Else
                '    clickedNode.Text += String.Format(" ({0})", clickedNode.Nodes.Count)
                'End If
                ' clickedNode.Font.Bold = True
                'set node's value so we can find it in startNodeInEditMode
                'NewLayer.Value = NewLayer.GetFullPath("/")
                'startNodeInEditMode(NewLayer.Value)
                Exit Select
            Case "NewInsurer"
                Dim NewLayer As New RadTreeNode(String.Format("New Insurer {0}", clickedNode.Nodes.Count + 1))
                NewLayer.Selected = True
                NewLayer.ImageUrl = "Images/Insurer.jpg"
                NewLayer.Value = "9"
                clickedNode.Nodes.Add(NewLayer)
                clickedNode.Expanded = True
                'update the number in the brackets
                'If Regex.IsMatch(clickedNode.Text, unreadPattern) Then
                '    clickedNode.Text = Regex.Replace(clickedNode.Text, unreadPattern, "(" + clickedNode.Nodes.Count.ToString() + ")")
                'Else
                '    clickedNode.Text += String.Format(" ({0})", clickedNode.Nodes.Count)
                'End If
                ' clickedNode.Font.Bold = True
                'set node's value so we can find it in startNodeInEditMode
                'NewLayer.Value = NewLayer.GetFullPath("/")
                'startNodeInEditMode(NewLayer.Value)
                Exit Select
            Case "EmptyLayer"
                EmptyLayer(clickedNode, True)
                Exit Select
            Case "Delete"
                clickedNode.Remove()
                Exit Select
        End Select
    End Sub
    Private Sub startNodeInEditMode(ByVal nodeValue As String)
        'find the node by its Value and edit it when page loads
        Dim js As String = "Sys.Application.add_load(editNode); function editNode(){ "
        js += "var tree = $find(""" + RadTreeView1.ClientID + """);"
        js += "var node = tree.findNodeByValue('" + nodeValue + "');"
        js += "if (node) node.startEdit();"
        js += "Sys.Application.remove_load(editNode);};"

        RadScriptManager.RegisterStartupScript(Page, Page.[GetType](), "nodeEdit", js, True)
    End Sub

    Protected Sub btnAddLayer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAddLayer.Click

        'Dim foundNode As RadTreeNode = RadTreeView1.FindNodeByText("ROOT_NODE")
    
        ''TextBox1.Text = ""
        ''Dim foundNode As RadTreeNode = RadTreeView1.FindNodeByText("GROUP 2")
        'If foundNode IsNot Nothing Then
        '    tbResults.Text = foundNode.Text
        'End If
        Dim newNode As New RadTreeNode(RadTreeView1.SelectedNode.Text)
        'Dim rtv As New RadTreeView

        'rtv = RadTreeView1

        'If rtv.SelectedNode.Text = Nothing Then
        '    '    'nothing is selected then create LAYER under root node
        '    RadTreeView1.SelectedNode.Text = "POLICY"
        'End If

        newNode.Value = ""

        If (txtLayerPercentage.Text = "") Then
            txtLayer.Text = txtLayer.Text
        Else
            txtLayer.Text = txtLayer.Text & " (" & txtLayerPercentage.Text & "%" & ")"
        End If
        newNode.Text = txtLayer.Text
        newNode.ImageUrl = "Images/Layer.jpg"


        'RadTreeView1.Nodes.Add(newNode)
        RadTreeView1.SelectedNode.Nodes.Add(newNode)

        'Add to the dropdown box
        ' ddInsurer.Items.Add(New ListItem(newNode.Text))


    End Sub


    Protected Sub btnDeleteLayer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDeleteLayer.Click
        'TextBox1.Text = ""
        'If RadTreeView1.SelectedNode <> Nothing Then
        RadTreeView1.SelectedNode.Remove()
        ' or ...
        'RadTreeView1.Nodes.Remove(RadTreeView1.SelectedNode)
        ' or ...
        'RadTreeView1.SelectedNode.ParentNode.Nodes.RemoveAt(RadTreeView1.SelectedNode.Index)
        'End If

    End Sub

    Protected Sub btnInsurerAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnInsurerAdd.Click

        Dim newNode As New RadTreeNode()
        If (txtPercentage.Text = "") Then
            newNode.Text = cmbInsurer.Text
        Else
            newNode.Text = cmbInsurer.Text & " (" & txtPercentage.Text & "%" & ")"
        End If
        newNode.ImageUrl = "Images/Insurer.jpg"
        newNode.Value = "9"
        RadTreeView1.SelectedNode.Nodes.Add(newNode)
        'Add to the dropdown box
        '      ddInsurer.Items.Add(New ListItem(newNode.Text))


    End Sub

    Protected Sub btnXML_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnXML.Click

        Dim tv As New RadTreeView

        txtXML.Text = ""
        tv.LoadXmlString(RadTreeView1.GetXml())
        txtXML.Text = RadTreeView1.GetXml()
        tv = RadTreeView1()

        txtXML.Visible = True

        exportToXml(RadTreeView1.GetXml(), "C:\\Temp\\cal_xml.xml")

    End Sub

    Public Shared Sub exportToXml(ByVal tv As String, ByVal filename As String)

        Dim XmlDocument As New XmlDocument()

        XmlDocument.LoadXml(tv)
        XmlDocument.Save(filename)

    End Sub


    Protected Sub btnClear_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnClear.Click
        txtXML.Text = ""
    End Sub

    'Protected Sub ddInsurer_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ddInsurer.SelectedIndexChanged
    '     Dim strInsurer As String = ""

    '    strInsurer = ddInsurer.SelectedIndex

    'End Sub

    Protected Sub RadTreeView1_NodeClick(ByVal o As Object, ByVal e As Telerik.Web.UI.RadTreeNodeEventArgs) Handles RadTreeView1.NodeClick
        Dim str As String
        Dim numPos As Int32 = 1
        Dim strPer As String = "%"
        Dim numUSPos As Int32 = 1
        Dim numLen As Int32 = 0
        Dim numLenParent As Int32 = 0
        Dim strParent As String

        txtPercentage.Text = ""
        txtLayerPercentage.Text = ""
        strParent = e.Node.Text
        str = e.Node.Text
        numLen = Len(str)
        numLenParent = Len(strParent)
        numPos = InStr(str, strPer)
        numUSPos = InStr(str, "(")


        If InStr(str, "(") Then
            str = str.Substring(0, numUSPos - 1)
            txtLayerPercentage.Text = Trim(strParent.Substring(numUSPos, numLenParent - 2 - numUSPos))
            txtPercentage.Text = Trim(strParent.Substring(numUSPos, numLenParent - 2 - numUSPos))
        End If
        If str = "POLICY" Then
            pnlGrp.Visible = False
            pnlChild.Visible = False
            btnAddLayer.Visible = True
            btnEditLayer.Visible = False
            txtLayer.Text = ""
            btnDeleteLayer.Visible = True
            btnChild.Enabled = True
            btnGrp.Enabled = True
        Else
            If e.Node.Value = "" Then
                'pnlGrp.Visible = True
                'pnlChild.Visible = False
                'btnAddLayer.Visible = False
                'btnEditLayer.Visible = True
                'txtLayer.Text = str
                'btnDeleteLayer.Visible = True
                'btnChild.Enabled = False
                'btnGrp.Visible = True

                pnlGrp.Visible = True
                pnlChild.Visible = False
                btnAddLayer.Visible = False
                btnEditLayer.Visible = True
                txtLayer.Text = str

                btnDeleteLayer.Enabled = True
                btnChild.Enabled = True
                btnGrp.Enabled = True

            Else
                'pnlChild.Visible = True
                'pnlGrp.Visible = False
                'btnInsurerAdd.Visible = False
                'btnInsurerEdit.Visible = True
                cmbInsurer.SelectedValue = str
                'btnInsurerDelete.Visible = True
                'btnGrp.Visible = True
                'btnChild.Enabled = False
                pnlChild.Visible = True
                pnlGrp.Visible = False

                btnInsurerAdd.Visible = False
                btnInsurerEdit.Visible = True
                cmbInsurer.Text = str
                btnInsurerDelete.Enabled = True
                btnGrp.Enabled = False
                btnChild.Enabled = False

            End If
        End If

        'strParent = e.Node.ParentNode.Text.ToString()

    End Sub 'RadTreeView1_NodeClick

    Protected Sub RadTreeView1_NodeEdit(ByVal sender As Object, ByVal e As Telerik.Web.UI.RadTreeNodeEditEventArgs) Handles RadTreeView1.NodeEdit
        Dim nodeEdited As RadTreeNode = e.Node
        Dim newText As String = e.Text

        nodeEdited.Text = newText
    End Sub


    Protected Sub btnInsurerEdit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnInsurerEdit.Click
        If (txtPercentage.Text = "") Then
            RadTreeView1.SelectedNode.Text = cmbInsurer.Text
        Else
            RadTreeView1.SelectedNode.Text = cmbInsurer.Text & " (" & txtPercentage.Text & "%" & ")"
        End If


    End Sub

    Protected Sub btnEditLayer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEditLayer.Click
        If (txtLayerPercentage.Text = "") Then
            RadTreeView1.SelectedNode.Text = txtLayer.Text
        Else
            RadTreeView1.SelectedNode.Text = txtLayer.Text & " (" & txtLayerPercentage.Text & "%" & ")"
        End If
    End Sub


    Protected Sub btnInsurerDelete_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnInsurerDelete.Click
        'If RadTreeView1.SelectedNode <> Nothing Then
        RadTreeView1.SelectedNode.Remove()
        ' or ...
        'RadTreeView1.Nodes.Remove(RadTreeView1.SelectedNode)
        ' or ...
        'RadTreeView1.SelectedNode.ParentNode.Nodes.RemoveAt(RadTreeView1.SelectedNode.Index)
        'End If

    End Sub
End Class



Kate
Telerik team
 answered on 27 Aug 2012
1 answer
58 views
Hi,

My project has a requirement of adding the web controls(like textbox, label, button) from a toolbox inside the dock. When user creates a  new dock, it should contain a toolbox inside it and using it can drag and drop the controls in the dock.

Can anyone help me with a sample code?


Thanks,
Kiti
Slav
Telerik team
 answered on 27 Aug 2012
1 answer
93 views
Suppose, I want to associate each uploaded file with the user who has uploaded it, then how would I do this in RadEditor? I only have a single path for upload, view and delete of uploaded files for all RadEditor managers. This path is '~/RadEditor/UploadedFiles'. There could be 100 or 500 or 1,000 or 10,000 users on my website.
This would mean that when a user opens an image manager or document manager or flash manager or media manager from RadEditor, then he/she would only see files uploaded by him/her.

Thanks
Sunil
Rumen
Telerik team
 answered on 27 Aug 2012
Narrow your results
Selected tags
Tags
+? more
Top users last month
Anislav
Top achievements
Rank 6
Silver
Bronze
Bronze
Jianxian
Top achievements
Rank 1
Iron
Marco
Top achievements
Rank 3
Iron
Iron
Iron
Jim
Top achievements
Rank 2
Iron
Iron
Nurik
Top achievements
Rank 2
Iron
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Anislav
Top achievements
Rank 6
Silver
Bronze
Bronze
Jianxian
Top achievements
Rank 1
Iron
Marco
Top achievements
Rank 3
Iron
Iron
Iron
Jim
Top achievements
Rank 2
Iron
Iron
Nurik
Top achievements
Rank 2
Iron
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?