Telerik Forums
UI for ASP.NET AJAX Forum
5 answers
135 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
83 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
329 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
68 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
100 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
3 answers
132 views
Hi,

I add an item to the RadRotator in the server-side, but I can't see it...

here is my code:

System.Web.UI.WebControls.

Image image = new System.Web.UI.WebControls.Image();

 

a.ImageUrl =

"~/Images/Design/Edit.png";

 

RadRotator1.Items.Add(

new Telerik.Web.UI.RadRotatorItem(image));

(The url is correct, I use it a lot in my web site, and I can see that the rad rotator has the item, using f12 when I run the code in my browser)

Do you have any ideas how to solve this problem?

Thanks!

 

Slav
Telerik team
 answered on 27 Aug 2012
3 answers
159 views
Weird situation.  We have two RadTreeViews, one for "available" critieria and one for "selected".  As users pulls a node from "available" to "selected", we open a RadWindow to let them specify the settings for that criteria (example: pull over the "user name" node, we pop a window to let them select equals/starts with/contains and type in a value).

In Chrome, each time the window is dragged over, the height increases by exactly 39 px.  Height doesn't change in IE9, but it doesn't seem to autosize to what I'd expect either--it picks 300px for reasons which escape me.

In the page containing our trees, here's how we define the RadWindow:
<telerik:RadWindow ID="CriteriaModal" runat="server" Modal="true" AutoSize="true" AutoSizeBehaviors="Height"
    VisibleStatusbar="false" ShowContentDuringLoad="false" Width="600px" Behaviors="Resize, Close, Move"
    OnClientClose="adHocCriteria.editNodeReturnHandler" RestrictionZoneID="radWindowZone">
</telerik:RadWindow>

and when the drag happens, here's how we open it:

adHocCriteria.editNode = function adHocCriteria_editNode(node, logical, logicLocked) {
    if (logicLocked)
        logical = logical + '_LOCKED';
 
    // VALUE == FieldLabel \b FieldID \b Operator \b Value
    var paramValue = 'fieldId=' + encodeURI(logical + '\b') + node.get_value();
 
    adHocCriteria._editNode = node;
 
    var modalDialog = adHocCriteria_GetModalWindow();
    alert('showing modal, height is ' + modalDialog._height);
 
    modalDialog.setUrl(adHocCriteria_GetAdHocCriteriaDetailsModalUrl() + '?' + paramValue);
    modalDialog.show();
}

(I put the alert in just to see what the _height parameter is immediately upon referencing it.  In Chrome, it goes from 300 to 339 to 378..., even if we pull the same node over [i.e., we're displaying the exact same set of controls, which should calculate the same height]).

A bit of detail, if it's of interest: our modal content is a RadSplitter (horizontal) with three RadPanes.  The middle one has a table with a series of Panels in it.  Depending on the type of node that's dragged over, we make the appropriate Panel visible (one has text-type input, one has date controls, et cetera).

So there's a bit of dynamicness there, but pulling the same node over repeatedly means we're going to make the same Panel visible with the same controls, so height should be calculated the same.

I'm working on this as a low-priority project, trying to put together a sample in extra time for you guys; so, it might be a while until I can get that together.  At this point, just wondering if anything like this has been reported, and, if so, what I might focus on.
Marin Bratanov
Telerik team
 answered on 27 Aug 2012
2 answers
98 views
Hi

Is it possible to use FontAwsome as a node image/text.

e.g. I can use this <i class="icon-camera-retro"></i> and I will get a camera icon on a plain page.

I want to use the camear icon and others as node images.

Is this possible?

Thanks

John
John
Top achievements
Rank 1
 answered on 27 Aug 2012
1 answer
93 views
Hello,

 I have a button on my page, TexBox that will contain the name of a person and empty rotator at the beginning, how can we add items (image) in my rotator by clicking on the button, I have been the following code in the button's onclick:
C# :
  protected void btn_Click (object sender, EventArgs e)
     {
System.Web.UI.WebControls.Image Image image = new ();
image.ImageUrl = "~ / Images / Customers /" + + TextBoxmember.Text. "jpg"};
RadRotatorItem item = new RadRotatorItem ();
item.Controls.Add (image);
RadRotator1.Items.Add (item);
}
aspx:

                <asp:TextBox ID="TextBoxmember"  Width="245px"    CssClass="inputTextEntryAutocomp" TabIndex="2"  runat="server"></asp:TextBox>



<telerik:RadButton ID="btnIcon" runat="server"  Height="30px" Width="150px" Skin="Windows7"
                       Text="Add member"
                       onclick="btn_Click">
        <Icon PrimaryIconUrl ="~/Images/FIT_Ajout_BOITE_ON_Small.png" PrimaryIconLeft="2px" PrimaryIconTop="2px"  PrimaryIconHeight="25px"  PrimaryIconWidth="35px"/>
                    
    </telerik:RadButton>

    <telerik:RadRotator ID="RadRotator1" runat="server"
                        CssClass="verticalRotator"  Height="250px"  ScrollDuration="500" FrameDuration="2000"  
                        ItemHeight="110"  
                        RotatorType = "Buttons">
        <ItemTemplate    >
                        
           
                        
      
        </ItemTemplate>
    </telerik:RadRotator>

  the problem is that it always loads the last person on entry and not save the old values.

thank you
Slav
Telerik team
 answered on 27 Aug 2012
1 answer
59 views
hi telerik,
    I want a specific color of the forecolor dropdown can be selected by client code when the radeditor load, and I have the same porblem with the font-size dropdown , how should I do? thanks
Rumen
Telerik team
 answered on 27 Aug 2012
Narrow your results
Selected tags
Tags
+? more
Top users last month
Rob
Top achievements
Rank 3
Iron
Iron
Iron
Atul
Top achievements
Rank 1
Iron
Iron
Iron
Alexander
Top achievements
Rank 1
Veteran
Iron
Serkan
Top achievements
Rank 1
Iron
Shawn
Top achievements
Rank 1
Iron
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Rob
Top achievements
Rank 3
Iron
Iron
Iron
Atul
Top achievements
Rank 1
Iron
Iron
Iron
Alexander
Top achievements
Rank 1
Veteran
Iron
Serkan
Top achievements
Rank 1
Iron
Shawn
Top achievements
Rank 1
Iron
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?