[CLOSED] Not able to drag drop leaf to leaf in TreeGrid

  1. #1

    [CLOSED] Not able to drag drop leaf to leaf in TreeGrid

    I am not able to drag drop leaf_1 to leaf_2,though i have set the property AllowLeafDrop="true",but still not working
    following is my Code:

     function Rename(node)
               { 
              
                 if (node.indexOf("Leaf_1") == -1 )
                 {
                   trptags.startEdit(Menu1.node, 0);
                   Menu1.hide();
                   return false;
                 }else
                 {
                 var x=Menu1.node.ui.getDDRepairXY()[0];
                 var y=Menu1.node.ui.getDDRepairXY()[1]+20;
                 wnTagEdit.setPosition(x,y).show(true); 
                  Menu1.hide();
                 return false;
                 }
               }
    
    
                <ext:TreeGrid ID="trptags" runat="server" Title="Family" Width="500" Height="300" Icon="Folder"
                    Region="Center" EnableDD="true" OnRemoteRemove="RemoteRemove" HideMode="Display"
                    OnRemoteRename="RemoteRename" Mode="Remote" OnRemoteMove="RemoteMove" AllowLeafDrop="true">
                    <Columns>
                        <ext:TreeGridColumn Header="Tag Name" Width="330" DataIndex="tagname" />
                        <ext:TreeGridColumn Header="Leaf Node" Width="100" DataIndex="ishidden" />
                        <ext:TreeGridColumn Header="Created On" Width="100" DataIndex="createdDate" />
                    </Columns>
                    <Loader>
                        <ext:PageTreeLoader OnNodeLoad="BindTagTree">
                        </ext:PageTreeLoader>
                    </Loader>
                    <Editors>
                        <ext:TreeEditor ID="TreeEditor1" runat="server" CancelOnBlur="true">
                            <Field>
                                <ext:TextField ID="TextField1" runat="server" />
                            </Field>
                        </ext:TreeEditor>
                    </Editors>
                   
                    <Items>
                        <ext:Menu ID="Menu1" runat="server">
                            <Items>
                                <ext:MenuItem ID="mnuRename" runat="server" Text="Rename" Icon="Pencil">
                                    <Listeners>
                                        <Click Handler="return Rename(Menu1.node.id,e);" />
                                    </Listeners>
                                </ext:MenuItem>
                            </Items>
                        </ext:Menu>
                    </Items>
                </ext:TreeGrid>
    
      <ext:Window runat="server" Hidden="true" ID="wnTagEdit" Padding="5" InitCenter="false"
            Width="270" Height="150" Modal="true">
               <Content>
                <ext:TextField ID="text1" runat="server" FieldLabel="Tag Name">
                </ext:TextField>
                 </Content>
        </ext:Window>
    
    
    
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
            If Not IsPostBack Then
                ResourceManager1.RegisterIcon(Ext.Net.Icon.Folder)
                ResourceManager1.RegisterIcon(Ext.Net.Icon.TagYellow)
    
                Dim realRoot As New Ext.Net.TreeNode()
                realRoot.NodeID = "Root0"
                realRoot.Expanded = True
                Dim treeNode As New Ext.Net.AsyncTreeNode()
                treeNode.Leaf = False
                treeNode.Icon = Icon.Folder
                treeNode.Expanded = True
                treeNode.NodeID = "0_Parent"
                treeNode.CustomAttributes.Add(New ConfigItem("tagname", "Root", ParameterMode.Value))
                treeNode.Listeners.ContextMenu.Handler = "#{Menu1}.node = node;#{Menu1}.RightClickActionType = 'Node'; #{Menu1}.items.items[0].show();  #{Menu1}.showAt(e.getPoint());"
                realRoot.Nodes.Add(treeNode)
                trptags.Root.Add(realRoot)
    
            End If
        End Sub
    
    
     Public Sub BindTagTree(ByVal sender As Object, ByVal e As NodeLoadEventArgs)
           Dim tndCollection As New Ext.Net.TreeNodeCollection
            For i As Integer = 1 To 1
                Dim oNode As New Ext.Net.TreeNode
                oNode.NodeID = "Node_" & i
                oNode.Text = "Node_" & i
                oNode.CustomAttributes.Add(New Ext.Net.ConfigItem("tagname", oNode.Text, ParameterMode.Value))
                oNode.CustomAttributes.Add(New Ext.Net.ConfigItem("createdDate", Date.Now.ToString, ParameterMode.Value))
                oNode.Icon = Icon.Folder
                oNode.Listeners.ContextMenu.Handler = "#{Menu1}.node = node;#{Menu1}.RightClickActionType = 'Node';  #{Menu1}.items.items[0].show(); #{Menu1}.showAt(e.getPoint());"
                oNode.Nodes.AddRange(getTagNode1(i))
                tndCollection.Add(oNode)
            Next
            e.Nodes.AddRange(tndCollection)
        End Sub
    
    
      Private Function getTagNode1(ByVal ParentID As String) As Ext.Net.TreeNodeCollection
            Try
                Dim tndCollection As New Ext.Net.TreeNodeCollection
                For i As Integer = 1 To 2
                    Dim oNode As New Ext.Net.TreeNode
                    oNode.NodeID = "Leaf_" & i
                    oNode.Text = "Leaf_" & i
                    oNode.CustomAttributes.Add(New Ext.Net.ConfigItem("tagname", "Leaf_" & i, ParameterMode.Value))
                    oNode.CustomAttributes.Add(New Ext.Net.ConfigItem("ishidden", "True", ParameterMode.Value))
                    oNode.CustomAttributes.Add(New Ext.Net.ConfigItem("createdDate", Date.Now.ToString, ParameterMode.Value))
                    If i = 1 Then
                        oNode.Icon = Icon.TagYellow
                        oNode.Leaf = True
                    Else
                        oNode.Icon = Icon.Folder
                        oNode.Leaf = True
                        oNode.Listeners.Expand.Handler = "return false;"
                    End If
                    oNode.Listeners.ContextMenu.Handler = "#{Menu1}.node = node;#{Menu1}.RightClickActionType = 'Node';  #{Menu1}.items.items[0].show();  #{Menu1}.showAt(e.getPoint());"
                    tndCollection.Add(oNode)
                Next
                Return tndCollection
            Catch ex As Exception
                LogError(ex, strPageName & "->getTagNode() ")
            End Try
        End Function
    
      Protected Sub RemoteMove(ByVal sender As Object, ByVal e As RemoteMoveEventArgs)
            e.Accept = True
        End Sub
    Last edited by geoffrey.mcgill; Aug 23, 2011 at 7:05 PM. Reason: [CLOSED]
  2. #2
    Hi,

    Please add this AfterRender listener for the TreeGrid.

    var onAfterRender = function () {
        if (this.allowLeafDrop) {
            this.dropZone.getDropPoint = this.dropZone.getDropPoint.createInterceptor(function (e, n) {
                n.node.leaf = false;
            });
        }    
    };
    
    <ext:TreeGrid ... EnableDD="true" AllowLeafDrop="true">
        <Listeners>
            <AfterRender Fn="onAfterRender" />
        </Listeners>
        ...
    </ext:TreeGrid>

Similar Threads

  1. Tree Node leaf
    By Richardt in forum 1.x Help
    Replies: 3
    Last Post: Sep 24, 2009, 11:06 AM
  2. [CLOSED] Error when deleting a tree leaf
    By Sharon in forum 1.x Legacy Premium Help
    Replies: 2
    Last Post: Jan 21, 2009, 11:12 AM
  3. [CLOSED] TreeNode Leaf
    By Ben in forum 1.x Legacy Premium Help
    Replies: 3
    Last Post: Jan 07, 2009, 2:26 PM
  4. Default TreePanel Leaf Icon
    By t0ny in forum 1.x Help
    Replies: 1
    Last Post: Jan 06, 2009, 10:57 AM

Posting Permissions