[CLOSED] Adding node dynamicaly to treegrid on client side

  1. #1

    [CLOSED] Adding node dynamicaly to treegrid on client side

    I'm trying to add new node (created on server side) to root of treegrid:
     var addDelivery = function()
                        {
                            var addressId = getSelectedAddressId();
                            BPOLX.Disctribution.AddDelivery(addressId, {success:addDeliveryNode});
                        };
    
                        var addDeliveryNode = function(node)
                        {
                            if(node != null)
                                #{tgDistribution}.root.appendChild(node);
                            else
                                alert('Adding delivery error');
                        };
    codebehind:
    [DirectMethod]
            public TreeNode AddDelivery(int addressId)
            {
                var delivery = NGOrderHandler.Instance.AddDelivery(Session.BPOLUserId, addressId);
                if (delivery != null)
                {
                    return CreateNodeForDelivery(delivery);
                }
                return null;
            }
    but it is return parsing error. Can I add this way?
    Last edited by Daniil; Oct 25, 2011 at 7:08 AM. Reason: [CLOSED]
  2. #2
    I found the way:
     var addDelivery = function()
                        {
                            var addressId = getSelectedAddressId();
                            BPOLX.Disctribution.AddDelivery(addressId, {success:addDeliveryNode});
                        };
    
                        var addDeliveryNode = function(node)
                        {
                            if(node != null && node != '')
                                #{tgDistribution}.getRootNode().appendChild(eval(node));
                            else
                                alert('error');
                        };
    codebehind:
    [DirectMethod]
            public string AddDelivery(int addressId)
            {
                var delivery = NGOrderHandler.Instance.AddDelivery(Session.BPOLUserId, addressId);
                if (delivery != null)
                {
                    var collection = new TreeNodeCollection {CreateNodeForDelivery(delivery, true)};
                    return collection.ToJson();
                }
                return string.Empty;
            }
    but have two issues:
    1. Is it possible add part of tree, for example add node with one child node?
    2. When node is added icon still showing spinning wheel.
  3. #3
    Quote Originally Posted by bakardi View Post
    1. Is it possible add part of tree, for example add node with one child node?
    Yes, please just populate a TreeNode's .Nodes collection.

    Quote Originally Posted by bakardi View Post
    2. When node is added icon still showing spinning wheel.
    Not sure what you mean. Could you demonstrate with a screen-shot?
  4. #4
    Click image for larger version. 

Name:	spinningwheel.png 
Views:	75 
Size:	2.9 KB 
ID:	3360

    For newly added item spinning wheel is showing and not changing to regular icon
  5. #5
    Is that node a leaf? I mean does it have any children?
  6. #6
    I tried both - it showing spinning wheel everytime fro me.
  7. #7
    Please clarify how did you try with a leaf.

    Did you set .Leaf to true?

    As well please try to set up .EnforceNodeTypeе to true.
  8. #8
    .EnforceNodeTypeе to true fixed the issue.
    Can we add this way node with child nodes to a treepanel?
  9. #9
    Yes, I think you can.

Similar Threads

  1. Adding an event to Msg button from a client side?
    By ascsolutions in forum 1.x Help
    Replies: 3
    Last Post: Jan 24, 2012, 11:47 AM
  2. Replies: 1
    Last Post: Nov 18, 2011, 5:29 PM
  3. Replies: 1
    Last Post: Dec 01, 2010, 5:14 PM
  4. Replies: 0
    Last Post: Sep 17, 2009, 8:04 AM
  5. Replies: 2
    Last Post: Mar 08, 2009, 10:11 AM

Posting Permissions