Telerik Forums
UI for ASP.NET AJAX Forum
1 answer
156 views
I took the Treeview Context Menu demo code from here: Context Menu Demo, slightly modified it, and now when I either try to Copy or Create a new node it produces 2 nodes instead of one.
Example, right-click, choose New Folder and then get 2 instead of one. Same with Copy: What am I doing wrong here? Using the latest Chrome and IE11 as well as latest Telerik version.



01.<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default2.aspx.vb" Inherits="Default2" %>
02. 
03.<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
04. 
06.<head runat="server">
07.    <title></title>
08.    <telerik:RadStyleSheetManager ID="RadStyleSheetManager1" runat="server" />
09.</head>
10.<body>
11.    <form id="form1" runat="server">
12.        <telerik:RadScriptManager ID="RadScriptManager1" runat="server">
13.            <Scripts>
14.                <asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.Core.js" />
15.                <asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.jQuery.js" />
16.                <asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.jQueryInclude.js" />
17.            </Scripts>
18.        </telerik:RadScriptManager>
19.        <script type="text/javascript">
20.            //<!--
21.            function onClientContextMenuShowing(sender, args) {
22.                var treeNode = args.get_node();
23.                treeNode.set_selected(true);
24.                //enable/disable menu items
25.                setMenuItemsState(args.get_menu().get_items(), treeNode);
26.            }
27. 
28.            function onClientContextMenuItemClicking(sender, args) {
29.                var menuItem = args.get_menuItem();
30.                var treeNode = args.get_node();
31. 
32.                menuItem.get_menu().hide();
33. 
34.                switch (menuItem.get_value()) {
35.                    case "Copy":
36.                        break;
37.                    case "Rename":
38.                        treeNode.startEdit();
39.                        break;
40.                    case "NewFolder":
41.                        break;
42.                    case "Delete":
43.                        var result = confirm("Are you sure you want to delete the item: " + treeNode.get_text());
44.                        args.set_cancel(!result);
45.                        break;
46.                }
47.            }
48. 
49.            //this method disables the appropriate context menu items
50.            function setMenuItemsState(menuItems, treeNode) {
51.                for (var i = 0; i < menuItems.get_count() ; i++) {
52.                    var menuItem = menuItems.getItem(i);
53.                    switch (menuItem.get_value()) {
54.                        case "NewFolder":
55.                            //nothing
56.                            break;
57.                        default:
58.                            if (treeNode.get_parent() == treeNode.get_treeView()) {
59.                                menuItem.set_enabled(false);
60.                            }
61.                            else {
62.                                menuItem.set_enabled(true);
63.                            }
64.                            break;
65.                    }
66.                }
67.            }
68.            //-->
69.        </script>
70.        <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server" UpdatePanelsRenderMode="Inline">
71.        </telerik:RadAjaxManager>
72.        <telerik:RadWindowManager ID="RadWindowManager1" runat="server"></telerik:RadWindowManager>
73.        <telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel2" runat="server" Skin="Default"></telerik:RadAjaxLoadingPanel>
74.        <telerik:RadAjaxPanel ID="RadAjaxPanel2" runat="server" LoadingPanelID="RadAjaxLoadingPanel2">
75.            <telerik:RadTreeView ID="rtvSavedReports" runat="server" AllowNodeEditing="True" EnableDragAndDrop="False" EnableDragAndDropBetweenNodes="False" OnContextMenuItemClick="rtvSavedReports_ContextMenuItemClick"
76.                OnClientContextMenuItemClicking="onClientContextMenuItemClicking" OnClientContextMenuShowing="onClientContextMenuShowing"
77.                OnNodeEdit="rtvSavedReports_NodeEdit">
78.                <ContextMenus>
79.                    <telerik:RadTreeViewContextMenu ID="MainContextMenu" runat="server">
80.                        <Items>
81.                            <telerik:RadMenuItem Value="Copy" Text="Copy ..." ImageUrl="~/images/10.gif">
82.                            </telerik:RadMenuItem>
83.                            <telerik:RadMenuItem Value="Rename" Text="Rename ..." Enabled="false" ImageUrl="~/images/rename.gif">
84.                            </telerik:RadMenuItem>
85.                            <telerik:RadMenuItem Value="NewFolder" Text="New Folder" ImageUrl="~/images/12.gif">
86.                            </telerik:RadMenuItem>
87.                            <telerik:RadMenuItem Value="Delete" Text="Delete Folder" ImageUrl="~/images/7.gif">
88.                            </telerik:RadMenuItem>
89.                        </Items>
90.                        <CollapseAnimation Type="none"></CollapseAnimation>
91.                    </telerik:RadTreeViewContextMenu>
92.                </ContextMenus>
93.            </telerik:RadTreeView>
94.        </telerik:RadAjaxPanel>
95.    </form>
96.</body>
97.</html>
 Code-behind:
01.Imports Telerik.Web.UI
02. 
03.Partial Class Default2
04.    Inherits System.Web.UI.Page
05. 
06.    Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
07.        If Not IsPostBack Then
08.            PopulateSaveTrees()
09.        End If
10.    End Sub
11. 
12. 
13.    Private Sub PopulateSaveTrees()
14.        Dim savedTreeXML As Object = GetSavedTree()
15.        If savedTreeXML Is DBNull.Value Then
16.            'first time create
17.            rtvSavedReports.LoadXml("<Tree><Node Text=""Saved Reports"" Value=""/"" AllowEdit=""False"" ImageUrl=""~/images/folder.png""/></Tree>")
18.        Else
19.            rtvSavedReports.LoadXml(savedTreeXML)
20.        End If
21.    End Sub
22. 
23.   
24.    Protected Sub rtvSavedReports_ContextMenuItemClick(sender As Object, e As RadTreeViewContextMenuEventArgs) Handles rtvSavedReports.ContextMenuItemClick
25.        Dim clickedNode As RadTreeNode = e.Node
26. 
27.        Select Case e.MenuItem.Value
28.            Case "Copy"
29.                Dim clonedNode As RadTreeNode = clickedNode.Clone()
30.                clonedNode.Text = String.Format("Copy of {0}", clickedNode.Text)
31.                clickedNode.InsertAfter(clonedNode)
32.                'set node's value so we can find it in startNodeInEditMode
33.                clonedNode.Value = clonedNode.GetFullPath("/")
34.                clonedNode.Selected = True
35.                StartNodeInEditMode(clonedNode.Value)
36.            Case "NewFolder"
37.                Dim newFolder As New RadTreeNode(String.Format("New Folder {0}", clickedNode.Nodes.Count + 1))
38.                newFolder.Selected = True
39.                newFolder.ImageUrl = clickedNode.ImageUrl
40.                clickedNode.Nodes.Add(newFolder)
41.                clickedNode.Expanded = True
42.                newFolder.Value = newFolder.GetFullPath("/")
43.                StartNodeInEditMode(newFolder.Value)
44.            Case "Delete"
45.                If clickedNode.Nodes.Count <> 0 Then
46.                    RadScriptManager.RegisterStartupScript(Page, Page.[GetType](), "nodedeleteerror", "alert('Cannot delete node with children!\nEither delete or move all children.');", True)
47.                    Exit Select
48.                End If
49.                clickedNode.Remove()
50.        End Select
51.    End Sub
52. 
53.    Private Sub StartNodeInEditMode(ByVal nodeValue As String)
54.        'find the node by its Value and edit it when page loads
55.        Dim js As String = "Sys.Application.add_load(editNode); function editNode(){ "
56.        js += "var tree = $find(""" + rtvSavedReports.ClientID + """);"
57.        js += "var node = tree.findNodeByValue('" + nodeValue + "');"
58.        js += "if (node) node.startEdit();"
59.        js += "Sys.Application.remove_load(editNode);};"
60. 
61.        RadScriptManager.RegisterStartupScript(Page, Page.[GetType](), "nodeEdit", js, True)
62.    End Sub
63. 
64.    Protected Sub rtvSavedReports_NodeEdit(sender As Object, e As RadTreeNodeEditEventArgs) Handles rtvSavedReports.NodeEdit
65.        e.Node.Text = e.Text
66.    End Sub
67. 
68.    Private Function GetSavedTree() As Object
69.        Return DBNull.Value
70.    End Function
71. 
72.End Class

Nencho
Telerik team
 answered on 11 Jun 2014
3 answers
106 views
There is no specific forum for the RadPageLayout so have posted here.

I found the following post... http://www.telerik.com/forums/radpagelayout-hiddenxx-properties-and-ie8

It mentions that the Responsive layout is not supported in IE8 and below but that with some tweaks it may be possible in IE8. I would love to be able to utilise this feature in IE8 as our company currently only has IE8 deployed. What are the tweaks that need to be applied.

Thanks
Ivan Zhekov
Telerik team
 answered on 11 Jun 2014
13 answers
1.9K+ views
Hi,
How to change RadAlert,Rad Confirm (OK,CANCEL) button style as well as its text.I have aligned the control center.But i need to put back ground image.Also i need to change its text to (YES OR NO) instead of (OK OR CANCEL)

Thank You,
Joby
rdmptn
Top achievements
Rank 1
 answered on 11 Jun 2014
5 answers
150 views
Hi Guys,
                  Here is my issue!!!! I am using Rad grid and also Using AsP:Repeater in RadGridTemplateColumn. Inside ASP:Repeater i am using item template with table structure.

                   So issue is now i am trying to export it to excel. I am getting data but not without Repeater columns.
Please any ideas.......
Thanks in advance....
Rju
Radoslav
Telerik team
 answered on 11 Jun 2014
1 answer
197 views
I have a RadGrid with multiple row selection enabled.How can I find out the ClientDataKeyValues of the rows selected?
I have the following till now:

this._RadGrid1.ClientSettings.ClientEvents.OnRowSelected = "OnRowSelected";
The javascript(which does :
function OnRowSelected(sender, args) {
    var grid = args.get_tableView();
    var selectedRows = grid.get_selectedItems();
    for (var i = 0; i < selectedRows.length; i++) {
        var row = selectedRows[i];       
    }   
}
Please let me know how can get all selected ClientDataKeyValues .
Shinu
Top achievements
Rank 2
 answered on 11 Jun 2014
1 answer
222 views
I have a rad grid control in an iframe .

I am trying to do a refresh of the read grid control using the following js  on the OnGridCreated event . But it goes in an infinite loop . Plz help

function RefreshGrid() {
                var masterTable = $find("<%= RadGrid_Qualification.ClientID %>").get_masterTableView();
                masterTable.rebind();
                 
            }






Princy
Top achievements
Rank 2
 answered on 11 Jun 2014
1 answer
622 views
I am able to get the datakeyvalue for the 1st level of the radgrid, but now trying to get the datakey value fo rthe second level of the radgrid to do an insert at the 3rd level of the radgrid.  I used the same statement for the 3rd level but it always returns 0, so I know its not working.  I tried putting in parent.parent but nothing seems to work for me.

It is this peice in the 3rd level insert
GridDataItem parentItem = e.Item.OwnerTableView.ParentItem;
          int PosId = Convert.ToInt32(parentItem.OwnerTableView.DataKeyValues[parentItem.ItemIndex]["intpositionId"]);

// all the Insert Commands for the Grids in order of Grid Heirarchy
     //Insert command for the Sections  1st level
     if (e.CommandName == RadGrid.PerformInsertCommandName && e.Item.OwnerTableView.Name == "Sections")
     {
         GridEditableItem item = e.Item as GridEditableItem;
         TextBox section = (TextBox)item.FindControl("txtSection");
 
         sql = "Execute usp_InsertSection '" + c.SanitizeString(section.Text) + "', " + c.GetUserId();
 
         c.InsertUpdateDelete(sql);
         myradGrid.Rebind();
     }
 
     //Insert command for positions  2nd Level
     if (e.CommandName == RadGrid.PerformInsertCommandName && e.Item.OwnerTableView.Name == "Positions")
     {
         GridEditableItem item = e.Item as GridEditableItem;
         GridDataItem parentItem = e.Item.OwnerTableView.ParentItem;
         //int sectionId = Convert.ToInt32(item.OwnerTableView.DataKeyValues[e.Item.ItemIndex]["intSectionId"]);
         int secId = Convert.ToInt32(parentItem.OwnerTableView.DataKeyValues[parentItem.ItemIndex]["intSectionId"]);
         TextBox descrip = (TextBox)item.FindControl("txtdescription");
         TextBox scale = (TextBox)item.FindControl("txtScale");
         TextBox posType = (TextBox)item.FindControl("txtPosType");
         TextBox grade = (TextBox)item.FindControl("txtGrade");
 
         sql = "Execute usp_InsertPosition " + secId + ", '" + c.SanitizeString(descrip.Text) + "', '" + c.SanitizeString(scale.Text) + "', '" + c.SanitizeString(posType.Text) + "', '" + c.SanitizeString(grade.Text) + "'";
 
         c.InsertUpdateDelete(sql);
     }
 
     //Insert for Personnel added to the Position  3rd Level
     if (e.CommandName == RadGrid.PerformInsertCommandName && e.Item.OwnerTableView.Name == "Personnel")
     {
         GridEditableItem item = e.Item as GridEditableItem;
         GridDataItem parentItem = e.Item.OwnerTableView.ParentItem;
         int PosId = Convert.ToInt32(parentItem.OwnerTableView.DataKeyValues[parentItem.ItemIndex]["intpositionId"]);
         CheckBox backfill = (CheckBox)item.FindControl("cbBackFill");
         CheckBox manager = (CheckBox)item.FindControl("cbManager");
         CheckBox assistManager = (CheckBox)item.FindControl("cbAssistMan");
         int backfillck = 0;
         int managerck = 0;
         int assManagerck = 0;
 
         if (backfill.Checked == true)
         {
             backfillck = 1;
         }
 
         if (manager.Checked == true)
         {
             managerck = 1;
         }
 
         if (assistManager.Checked == true)
         {
             assManagerck = 1;
         }
         
         sql = "Execute usp_InsertPersonnel " + PosId + ", " + HFAdminId.Value + ", " + backfillck + ", " + managerck + ", " + assManagerck + "";
         Response.Write(sql);
         Response.End();
         c.InsertUpdateDelete(sql);
     }




Shinu
Top achievements
Rank 2
 answered on 11 Jun 2014
3 answers
672 views
Hi
I am looking for a control where we can create a family tree (parents > self > spouse > siblings). Is there something available in Telerik to look at.
Thanks
Princy
Top achievements
Rank 2
 answered on 11 Jun 2014
1 answer
126 views
Hi 

I have a img tag to which i am associating a RadToolTip using th ToolTip Manager using the following settings..

<telerik:RadToolTipManager ID="TestToolTip" runat="server" HideEvent="ManualClose"
MouseTrailing="false" EnableEmbeddedSkins="false" ShowCallout="true" Animation="None"
Width="500" Height="300" ContentScrolling="Y" ShowEvent="OnClick" Position="BottomRight"
Skin="Ciena" RelativeTo="Mouse" HideDelay="500">
<WebServiceSettings Method="xxx" Path="xxx" />
</telerik:RadToolTipManager>

<img id="testID" alt="View Details" runat="server" src='~/images/test1.gif' style="cursor: hand;border:0"/>

And binding the tooltip to img in the backend using

TestToolTip.TargetControls.Add(testID.ClientID, "Test", true);

The RadTooltip itself loads and shows just fine.. but we want to show title/alt text on the anchor img tag to allow users to know what the image means.. like a normal html tooltip.. i tried with both title and alt properties but they are not showing for the img.. 









Princy
Top achievements
Rank 2
 answered on 11 Jun 2014
3 answers
325 views
I have a RadGrid in a RadAjaxPanel. The RadAjaxPanel also has a text box and button. RadAjaxPanel is then added to a Panel. Which in turn is added to an UpdatePanel.
A value needs to be entered in the textbox and based on selections, on click of button, the value is added to all the selected rows.
Radgrid is as follows:
this._RadGrid1.ID = "RadGrid1";  
this._RadGrid1.AllowSorting = true;
this._RadGrid1.AllowFilteringByColumn = true;          
this._RadGrid1.AutoGenerateColumns = false;
this._RadGrid1.EnableLinqExpressions = false;   
this._RadGrid1.ClientSettings.Selecting.AllowRowSelect = true;
                                 
this._RadGrid1.MasterTableView.DataKeyNames = "...";
this._RadGrid1.MasterTableView.ClientDataKeyNames = "..";
this._RadGrid1.NeedDataSource += RadGrid1_NeedDataSource;
 
I have added checkboxtemplate to the grid.
 
The following are added to RadAjaxPanel.
 this.RadAjaxPanel.Controls.Add(this._RadLoadingPanel);
 this.RadAjaxPanel.Controls.Add(this._RadGrid1); 
 this.RadAjaxPanel.Controls.Add(this._textBox1); 
 this.RadAjaxPanel.Controls.Add(this._button1);
onClientClick of button I want to call a javascript function to know the rows selected and read the value of the textbox and update DB accordingly. Please help me figure how to do this. I tried the following but the js is unable to find the RadGrid!
function GetSelectedItems() {   
var g = $find("<%=RadGrid1.ClientID %>"); 
v
ar MasterTable = g.get_masterTableView();
}

Suggest me if you have a better approach.

Shinu
Top achievements
Rank 2
 answered on 11 Jun 2014
Narrow your results
Selected tags
Tags
+? more
Top users last month
Shiori
Top achievements
Rank 2
Iron
Tien
Top achievements
Rank 1
Iron
Robert
Top achievements
Rank 1
Rob
Top achievements
Rank 4
Bronze
Bronze
Iron
Geoff
Top achievements
Rank 1
Want to show your ninja superpower to fellow developers?
Top users last month
Shiori
Top achievements
Rank 2
Iron
Tien
Top achievements
Rank 1
Iron
Robert
Top achievements
Rank 1
Rob
Top achievements
Rank 4
Bronze
Bronze
Iron
Geoff
Top achievements
Rank 1
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?