Hello everyone,
I have an Inftragistics tree control in my application that is configured to do load on demand with manualsmartcallbacks. I would also like to give my users the ability to drag and drop elements in the tree. After the drop has occured I add the dropped node as a child of the target node; after whice I use javascript to expand the target node.
Everything operates fine with one exception. Everytime I do a drag/drop, I notice that my browser (IE7) gets stuck loading something. The problem goes away once I expand/collapse any node in the tree. Unfortunatly if I don't do this before I try to do anything else on the tree (like delete a node), then I get a System.Data stack overflow exception. I know the problem exists with adding the node because if I remove that code the problem does away. Below is the drop event handler on my tree.
function uwtFolders_Drop(oTree, oNode, oDataTransfer, oEvent)
{
oNode.setTag(oNode.getDataKey());
}
oDataTransfer.sourceObject.setTag(oDataTransfer.sourceObject.getDataKey());
//UpdateFolder(GetWorkspaceId(),oNode.getTag(),oDataTransfer.sourceObject.getTag(),oDataTransfer.sourceObject.getText());
// newNode.setTag(oDataTransfer.sourceObject.getTag());
// MoveNodes(newNode,oDataTransfer.sourceObject);
oDataTransfer.sourceObject.remove();
//oNode.setExpanded(true);
And here is the tree:
<ignav:UltraWebTree id="uwtFolders" runat="server" Cursor="Default" ForeColor="Black" Font-Size="8pt"
Font-Names="Verdana" BorderColor="Pink" BorderStyle="None" Height="400px" Width="300px" Indentation="20"
WebTreeTarget="ClassicTree" LoadOnDemand="ManualSmartCallbacks" CompactRendering="False" EnableViewState="False"
SingleBranchExpand="True" DataKeyOnClient="true" AllowDrag="true" AllowDrop="true">
<Images>
<CollapseImage Url="./images/exp.gif" />
<ExpandImage Url="./images/col.gif" />
</Images>
<ClientSideEvents InitializeTree="uwtFolders_InitializeTree" NodeClick="uwtFolders_NodeClick" AfterNodeUpdate="uwtFolders_AfterNodeUpdate" Drop="uwtFolders_Drop"/>
</ignav:UltraWebTree>
Bleh Ok NVM sorry about that last post. I figured out about 30 min after I made this post what I had done. The control has lot of ajax functionality so in order to maximize performance I make all the data calls I need for the folders in my explorer control and store that data in a persistant dataset. Any changes to the folder structure (updating folder names, changing the parent, adding/deleteing a folder) are saved to the database and then the changes are made to the indexed dataset. During one of those operations I was inadvertantly updateing the datasets "PARENT_FOLDER_ID" column to be the same ID of the folder I was working with. So, when I was trying to delete the folder and its children my application would just go into an infinite loop.
Unfortunatly I completely missed this as I was in a mad rush to get the control (and serveral others) done and pushed out for a demonastration in a 3 day window. The browser showing that it would continually load after a drag drop was throwing my already fried brain into a spin. The continuous browser load still bothers me.
Anyways thanks to anyone who looked at this thread attempting to help.